如何在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 小部件状态通过单选按钮切换

如何使用 jquery 启用或禁用基于其他 2 个单选按钮的单选?

我如何在我的 html 中只选择 1 个单选按钮

如何在 GridBagLayout 中调整 JPanel 的大小?