Я пытаюсь создать графический интерфейс с вкладками в Python, и я хочу иметь возможность переключать состояние включения/отключения вкладок (т. Е. Запретить пользователю переключать вкладки и призрачные неактивные вкладки, чтобы сделать этот факт очевидным). До сих пор я не мог понять, как это сделать.Как включить и отключить вкладки в графическом интерфейсе Tkinter/Tix Python
Я решил пойти с Tkinter и/или Tix, потому что они встроены в дистрибутивы Python в Windows (направление моих пользователей путем установки дополнительных сторонних зависимостей будет больше проблем, чем того стоит). Я работал с Tkinter немного, но никогда Tix до сих пор - вкладки, похоже, требуют этого. Поэтому я построил два вкладками Tix.NoteBook на основе демо на http://svn.python.org/projects/python/trunk/Demo/tix/samples/NoteBook.py
Для отключения вкладки, единственный соответствующий атрибут лепестка экземпляра Tix (например, nb.hard_disk
в демо-коде), кажется, configure()
но наивно делать что-то Tkinter-like, то есть nb.hard_disk.configure(state=Tix.DISABLED)
, результаты TclError: unknown option "-state"
Ищет «отключить вкладку ноутбука Tix», ничего не дает, и даже более общий «отключить виджет Tix» не дает ничего, что я могу понять/использовать. Благодарен за любые указатели в правильном направлении.
Хм, спасибо ... Это sooort-оф помогает, потому что он ставит меня на трек ttk вместо Tix. После этого кажется, что Tix довольно устарел, и ttk, о котором я не слышал, - это путь. Но, к сожалению, для разных раздражающих причин мне придется много работать, прежде чем я смогу наконец освободиться от необходимости поддерживать Python 2.5 - и из коробки, Python 2.5 для Windows поставляется с Tix, а не с ttk. Поэтому я действительно ищу решение Tix. – jez
Наверное, у меня создалось впечатление, что вы хотели, чтобы это решение Tkinter или решение Tix (кстати, я ошибочно написали Wx в своем ответе). И, возможно, ttk на самом деле не такой же, как Tkinter, но, насколько я понимаю, это аддон/расширение для Tkinter, которое вам нужно, среди прочего, для использования виджета Notebook. Ну, к сожалению, у меня нет совета по Tix, но надеюсь, что, может быть, мой пример поставит вас на правильное решение Tix. –
+1 для 'ttk' ;-). – Fenikso