繁体   English   中英

Tkinter 缩放小部件标签

[英]Tkinter scale widget labeling

我是 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

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

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

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 的同一个项目文件夹中。 此外,我在同一环境中启动两个示例。

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

参考@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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM