我想学习如何定位滴答框、复选框、下拉菜单和菜单列表,它们与我插入的图像完全相同。我不知道如何编写每个语法的位置
from tkinter import *
from tkinter import ttk
windows = Tk()
gender = ["male", "female"]
sport = ["Cricket", "Tennis"]
numbers = ['one', 'two', 'three', 'four']
windows.title("Hello Python")
windows.geometry("350x300")
x = IntVar(windows)
for index in range(len(gender)):
radiobutton = Radiobutton(windows,
text=gender[index],
variable=x,
value=index,)
radiobutton.pack(side=LEFT,ipadx=10,ipady=10)
for index in range(len(sport)):
checkboxgui = Checkbutton(windows,
text=sport[index], onvalue=1,
offvalue=0)
checkboxgui.pack(side=LEFT, anchor=CENTER, ipadx=10, ipady=10)
clicked = StringVar(windows)
clicked.set("one")
drop = ttk.Combobox(windows, textvariable=clicked,values=numbers)
drop.pack()
listbox = Listbox(windows,selectmode=MULTIPLE)
listbox.pack()
listbox.insert(1,"one")
listbox.insert(2,"two")
listbox.insert(3,"three")
listbox.insert(4,"four")
listbox.config(height=listbox.size())
windows.mainloop()
发布于 2022-06-15 13:52:18
我知道如何实现类似于您的图片的唯一方法是将交互式小部件组织到框架中,然后单独地对它们进行pack()
,这样您就可以遵循打包器使用的逻辑。但我确实设定了一个近似大小,就像你的例子一样。注意,为了使您的Combobox
在顶部对齐,我必须使用expand
和fill
参数。对您来说,查看类似于这的内容将是有益的。有关pack()
方法如何工作的示例说明。我没有阻止用户扩展窗口,所以您仍然可以使窗口最大化,超出您在图片中显示的内容。我希望这能帮到你。
import tkinter as tk
from tkinter import ttk
window = tk.Tk()
window.geometry("400x300")
x = tk.IntVar()
numbers = ['one', 'two', 'three', 'four']
radio_frame = tk.Frame(window)
radio_frame.pack(ipady=30)
male_radio = tk.Radiobutton(radio_frame, text="male", variable=x)
male_radio.pack(side="left")
female_radio = tk.Radiobutton(radio_frame, text="female", variable=x)
female_radio.pack(side="left")
check_frame = tk.Frame(window)
check_frame.pack(ipady=10)
check_button1 = tk.Checkbutton(check_frame, text="Cricket", onvalue=1, offvalue=0)
check_button1.pack(side="left")
check_button2 = tk.Checkbutton(check_frame, text="Tennis", onvalue=1, offvalue=0)
check_button2.pack(side="left")
bottom_frame = tk.Frame(window)
bottom_frame.pack(pady=20)
drop_frame = tk.Frame(bottom_frame)
drop_frame.pack(side="left", expand=True, fill=tk.BOTH)
clicked = tk.StringVar()
clicked.set("one")
drop = ttk.Combobox(drop_frame, textvariable=clicked, values=numbers)
drop.pack()
list_frame = tk.Frame(bottom_frame)
list_frame.pack(side="left")
listbox = tk.Listbox(list_frame,selectmode=tk.MULTIPLE)
listbox.pack(padx=40, ipady=10)
listbox.insert(1,"one")
listbox.insert(2,"two")
listbox.insert(3,"three")
listbox.insert(4,"four")
listbox.config(height=listbox.size())
window.mainloop()
https://stackoverflow.com/questions/72631017
复制相似问题