Как настроить ширину кнопки с изображением в tkinter на python?
Код:
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
image = tk.PhotoImage(file = "image.png")
button = ttk.Button(root, image = image)
button.pack()
root.mainloop()
Неудачные попытки увеличить ширину кнопки:
- Указать width.
- Указать padx.
- Указать text как несколько пробелов.
Кнопка нужна именно из ttk. Как изменить ширину кнопки с изображением?
Ответы (2 шт):
Нашёл решение. Буду использовать фрейм как родитель кнопке, у которой будет pack(fill = tk.BOTH). А размеры кнопки будут регулировать размерами родителя.
UPD: На root кнопка изменяет размер, но при Frame она не учитывает размеры родителя. Вопрос ещё не решён.
UPD: После поиска возможных решений работающим оказалось одно - изменение файла изображения с добавлением пустоты по краям.
UPD: Решение найдено! В метод place можно передать параметры width и height в пикселях. Кнопка с изображением охотно меняет размеры. Наконец, вопрос закрыт.
Первое решение которое приходит в голову, просто расширить картинку (например, с помощью Photoshop, там можно убрать белый фон и останется фон прозрачный), таким образом можно настраивать и длину, и высоту кнопки, а её размер (если работать в фотошопе) будет определятся размерами документа. Если найду решение кодом, вам напишу.