如何在tkinter中并排打包3个单选按钮和1个标签?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在tkinter中并排打包3个单选按钮和1个标签?相关的知识,希望对你有一定的参考价值。
这是我当前的输出:输出图像:“>
这仅是使用pack时的期望输出(用油漆重新创建期望的输出):所需图像:
“>如何通过使用包来实现?
这是我当前的代码:
#Seperated into tabs notebook = ttk.Notebook(master) notebook.pack(expand = 1, fill = "both") #Frames main = ttk.Frame(notebook) notebook.add(main, text='Main-Screen') #Main screen left = ttk.Frame(main) left.pack(side = "left", expand = True, fill = 'y') right = ttk.Frame(main) right.pack(side = "right", expand = True, fill = 'y') self.info = ["test one", "test two", "test three" ] self.vars = [] for idx,i in enumerate(self.info): self.var = IntVar(value=0) self.vars.append(self.var) self.lblOption = Label(main,text=i) self.btnYes = Radiobutton(right, text="Yes", variable=self.var, value=2) self.btnNo = Radiobutton(right, text="No", variable=self.var, value=1) self.btnNa = Radiobutton(right, text="N/A", variable=self.var,value=0) self.lblOption.pack(anchor = 'w') self.btnYes.pack(side = 'left') self.btnNo.pack(side = 'left') self.btnNa.pack(side = 'left')
这是我当前的输出:输出图像:这是我仅在使用pack时需要的输出(用油漆重新创建了我所需的输出):所需的图像:如何通过使用pack来实现?这是我的...
答案
您可以按照以下步骤进行操作。在Frame
循环中创建3个单独的for
,然后在每个Frame
中将边设置为左侧的小部件打包。
import tkinter as tk
root = tk.Tk()
vars_list = []
for i in ["test one", "test two", "test three"]:
frame = tk.Frame(root)
frame.pack()
tk.Label(frame,text=i).pack(side="left")
var = tk.IntVar(value=0)
vars_list.append(var)
tk.Radiobutton(frame, text="Yes", variable=var, value=2).pack(side="left")
tk.Radiobutton(frame, text="No", variable=var, value=1).pack(side="left")
tk.Radiobutton(frame, text="N/A", variable=var,value=0).pack(side="left")
root.mainloop()
以上是关于如何在tkinter中并排打包3个单选按钮和1个标签?的主要内容,如果未能解决你的问题,请参考以下文章
在 Python 3 中使用 tkinter 更改单选按钮的背景颜色
如何从 laravel 上的 1 个单选按钮获取 2 个值?
Python tkinter Entry 小部件状态通过单选按钮切换