Я использую переключатели Tkinter ttk, и у меня есть специфическая проблема. Последняя созданная радиокнопка сначала кажется больше остальных. Как только мышь помещается на него, он привязывается к нужному размеру.
Проблема выглядит следующим образом:
И это код, который я использую полностью:
import tkinter
from tkinter import ttk
root = tkinter.Tk()
radioSelect = tkinter.IntVar()
radio1 = ttk.Radiobutton(root, text="A", variable=radioSelect, value=1)
radio2 = ttk.Radiobutton(root, text="B", variable=radioSelect, value=2)
radio1.grid()
radio2.grid()
root.mainloop()
Это появляется, если я использую сетку или место, и появляется на флажках, а также переключателях. Проблема не возникает, если я использую переключатели tkinter, а не ttk, но я бы хотел использовать ttk, потому что они выглядят лучше.
У меня 64-битная версия Windows 7, версия Python.
3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:45:13) [MSC v.1600 64 bit (AMD64)]
Я искал, но не смог найти никого с похожей проблемой.
Что тут происходит?
ОБНОВЛЕНИЕ: Это происходит только при использовании темы «vista», которая используется по умолчанию (по крайней мере, на моей машине). Если указана другая тема, проблема исчезает.
root.grid()
абсолютно ничего не делает. Вам это не нужно. - person Bryan Oakley   schedule 13.02.2015from ctypes import windll; windll.shcore.SetProcessDpiAwareness(1)
. Однако минимальным поддерживаемым клиентом для этой функции является Windows 8.1, как указано в документации MS. - person Max   schedule 09.01.2019