2

我是 Tkinter 的新手,并尝试制作一个小密码生成器。对于密码的长度,我想实现一个 Scale 小部件。我在显示小部件的标签时遇到了一个奇怪的问题,我不明白为什么我会得到两种不同的设计。

所以这是我的主程序的一个片段:

root = Tk()
root.geometry("460x100")
root.resizable(0,0)
root.title("Password Generator")

pw_label = Label(root, text="Password").grid(row=0, column=0, pady=4, padx = 4)
length_label = Label(root, text="Length").grid(row=2, column=0, pady=4, padx = 4)
pw_input = Entry(root, width=50)
length_input = Scale(root, from_=8, to=50, orient=HORIZONTAL, length= 300)
length_input.set(30)
pw_input.grid(row = 0, column = 1, pady=4, padx = 4)
length_input.grid(row = 2, column = 1, pady=4, padx = 4)
Button(root, text='Quit', command=root.quit).grid(row=3, column=2, sticky=W, pady=4)
Button(root, text='Generate', command=rand_pw).grid(row=2, column=2, sticky=W, pady=4)
Button(root, text='Copy', command=copy).grid(row=0, column=2, sticky=W, pady=4)

root.mainloop()

桂1

如您所见,我有一个蓝色滑块,并且在比例下没有比例。

这是另一个最小的滑块示例:

from tkinter import *

root = Tk()
root.geometry("500x100")
length_label = Label(root, text="Length").grid(row=0, column=0, pady=4, padx = 4)
w2 = Scale(root, from_=0, to=50, tickinterval= 50, orient=HORIZONTAL, length=400)
w2.set(23)
w2.grid(row=0, column=1)


mainloop()

图形用户界面 2

有人可以向我解释为什么我在那里得到两种不同的样式吗?这两个程序都在 PyCharm 的同一个项目文件夹中。此外,我在同一环境中启动这两个示例。

我想我只是犯了一个愚蠢的错误,但我找不到它。

4

1 回答 1

0

参考@Bryan Oakley 的回答,我删除了from tkinter.ttk import *,然后我得到了第二个屏幕截图所示的设计。

刚刚删除了这一行,尽管这是工作片段。

from tkinter.ttk import *
root = Tk()
root.geometry("460x100")
root.resizable(0,0)
root.title("Password Generator")

pw_label = Label(root, text="Password").grid(row=0, column=0, pady=4, padx = 4)
length_label = Label(root, text="Length").grid(row=2, column=0, pady=4, padx = 4)
pw_input = Entry(root, width=50)
length_input = Scale(root, from_=8, to=50, orient=HORIZONTAL, length= 300)
length_input.set(30)
pw_input.grid(row = 0, column = 1, pady=4, padx = 4)
length_input.grid(row = 2, column = 1, pady=4, padx = 4)
Button(root, text='Quit', command=root.quit).grid(row=3, column=2, sticky=W, pady=4)
Button(root, text='Generate', command=rand_pw).grid(row=2, column=2, sticky=W, pady=4)
Button(root, text='Copy', command=copy).grid(row=0, column=2, sticky=W, pady=4)

root.mainloop()
于 2019-08-24T18:38:21.343 回答