Найти - Пользователи
Полная версия: _tkinter.TclError: unknown option "-relief"
Начало » GUI » _tkinter.TclError: unknown option "-relief"
1
crchemist
пробую запустити програму яка використовує ttk. Вилітає в такому рядку:
self.list=Menubutton(self.top,textvariable=self.f_text,relief='groove',width=23,font=('Arial',10,'bold'),
<------><------><------>image=get_img('data/list.png'),compound='left',
<------><------><------>background='white')
і видає такий traceback:
File "ttk.py", line 805, in __init__
Widget.__init__(self, master, "ttk::menubutton", kw)
File "ttk.py", line 545, in __init__
Tkinter.Widget.__init__(self, master, widgetname, kw=kw)
File "/usr/lib/python2.5/lib-tk/Tkinter.py", line 1930, in __init__
(widgetName, self._w) + extra + self._options(cnf))
_tkinter.TclError: unknown option "-relief"
Версії TCL/TK - тут http://python.su/forum/viewtopic.php?id=3404
crchemist
На початку програми замінив
tk = TkinterDnd.Tk()
на
tk = Tkinter.Tk()
Це може якось вплинути на помилку?
balu
Ttk != Tkinter. Використовуй стилі, десь так YourWidget.style_configure, але для використання стилів при ініціалізації обїєктів використовуй параметр style, див приклади.
t = Ttk.Labelframe(self.panes, style="TLabelframe", text=_('Module contains'), bd=1)
t.style_configure(foreground="black", font=Fnt)#, width=200)

nb=Ttk.Notebook(self.mainpanel, style="Tab")
nb.style_configure(font=Fnt)

Ttk.Treeview(sf, style="Treeview")
Ttk.Button(self.PIFrame, style="TButton", icon=icons.refresh, underline=0, font=Fnt,
Ttk.Label(frame2, anchor="nw", style="Red.TLabel",
А далі кури документацію до ттк
crchemist
тобто помилка через те що я замінив tk = TkinterDnd.Tk() на tk = Tkinter.Tk() ? Я не знаю що таке Ttk, TkinterDnd, tkdnd. Я скачав програму і хочу її запустити. Інші її якось же запускали. Я не писав цієї програми. Як мені замінити цей рядок
self.list=Menubutton(self.top,textvariable=self.f_text,relief='groove',width=23,font=('Arial',10,'bold'),
<------><------><------>image=get_img('data/list.png'),compound='left',
<------><------><------>background='white')
щоб він запрацював в мене?
Програма потребує tkdnd (я не знаю що то таке) - в мене його нема (не вмію поставити) тому на початку програми замість
from Ttk import *
from TkinterDnD2 import *
import Image,ImageTk,os,time
def ru(x):return x
tk=TkinterDnD.Tk()
Я написав
from Tkinter import *
from ttk import *
#from TkinterDnD2 import *
import Image, ImageTk, os, time
def ru(x):return x
tk=Tk()
Тепер в мене вилітає помилка описана в першому пості. ttk потребує TkinterDnD2?
crchemist
Ок, Язамінив
self.list=Menubutton(self.top,textvariable=self.f_text,relief='groove',width=23,font=('Arial',10,'bold'),
<------><------><------>image=get_img('data/list.png'),compound='left',
<------><------><------>background='white')
на
self.list=Menubutton(self.top,textvariable=self.f_text,width=23,image=get_img('data/list.png'),compound='left')
і в мене запустилось
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB