使用 tkinter 和 tix 的区别(作为 tkinter?)
Difference between working with tkinter and tix (as tkinter?)
用
启动程序到底有什么区别
from tkinter import *
和
from tkinter import tix as tk
因为后一个我遇到了问题,所以才提出这个问题。我已将所有 tkinter 元素从普通 'Button' 更改为 'tk.Button',但这似乎并不是唯一的区别。
特别是我在以下代码位中遇到问题:
class OptionMenus(OptionMenu):
def __init__(self, master, status, *fonts):
self.var = StringVar(master)
self.var.set(status)
OptionMenu.__init__(self, master, self.var, *fonts,
command = update_config)
self.config(width = "9", height = "1")
或
class OptionMenus(tk.OptionMenu):
def __init__(self, master, status, *fonts):
self.var = tk.StringVar(master)
(self.var).set(status)
(tk.OptionMenu).__init__(self, master, self.var, *fonts,
command = update_config)
self.config(width = "9", height = "1")
(以防万一我怎么称呼它)
fonts_menu = OptionMenus(buttons, strings[17], *fonts)
后一个产生错误:"TypeError: init() takes from 2 to 3 positional arguments but 4 were given."
第一个很好用。
tix 和 tk 是两个独立的模块。他们有一些名称相似的小部件,但它们不是可互换的库。
如果您想使用 tix,您应该将它与 tkinter 分开导入,并且您应该不进行全局导入,因为它会导致歧义,这可能就是您有问题。
像这样导入它们:
import tkinter as tk
from tkinter import tix
然后,像这样使用小部件:
tk.Button(...)
tix.OptionMenu(...)
然后 crystal 清楚哪些小部件来自哪些库。
用
启动程序到底有什么区别from tkinter import *
和
from tkinter import tix as tk
因为后一个我遇到了问题,所以才提出这个问题。我已将所有 tkinter 元素从普通 'Button' 更改为 'tk.Button',但这似乎并不是唯一的区别。
特别是我在以下代码位中遇到问题:
class OptionMenus(OptionMenu):
def __init__(self, master, status, *fonts):
self.var = StringVar(master)
self.var.set(status)
OptionMenu.__init__(self, master, self.var, *fonts,
command = update_config)
self.config(width = "9", height = "1")
或
class OptionMenus(tk.OptionMenu):
def __init__(self, master, status, *fonts):
self.var = tk.StringVar(master)
(self.var).set(status)
(tk.OptionMenu).__init__(self, master, self.var, *fonts,
command = update_config)
self.config(width = "9", height = "1")
(以防万一我怎么称呼它)
fonts_menu = OptionMenus(buttons, strings[17], *fonts)
后一个产生错误:"TypeError: init() takes from 2 to 3 positional arguments but 4 were given." 第一个很好用。
tix 和 tk 是两个独立的模块。他们有一些名称相似的小部件,但它们不是可互换的库。
如果您想使用 tix,您应该将它与 tkinter 分开导入,并且您应该不进行全局导入,因为它会导致歧义,这可能就是您有问题。
像这样导入它们:
import tkinter as tk
from tkinter import tix
然后,像这样使用小部件:
tk.Button(...)
tix.OptionMenu(...)
然后 crystal 清楚哪些小部件来自哪些库。