【问题标题】:How do I align the radiobuttons to left in tkinter?如何在 tkinter 中将单选按钮向左对齐?
【发布时间】:2022-04-16 23:06:33
【问题描述】:

enter image description here

我的代码显示radiobuttons未对齐,点击图片查看,我想以更好的方式定义var(1,2,3,4,5)。

我对编程很陌生,但我尝试过使用.pack()、side、anchor 和justify。

var1 = tk.StringVar()
var2 = tk.StringVar()
var3 = tk.StringVar()
var4 = tk.StringVar()
var5 = tk.StringVar()
var6 = tk.StringVar()
var7 = tk.StringVar()
var8 = tk.StringVar()

v = StringVar() 
rbutton=Radiobutton(tab2, text="ggdsh", variable=var1, value="1",width=15,justify=LEFT).grid(column=0,row=1,sticky=W)
rbutton2=Radiobutton(tab2, text="fjkhslafjksh", variable=var2, value="1",width=15,justify=LEFT).grid(column=0,row=2)
rbutton3=Radiobutton(tab2, text="sdjklfhsdfj", variable=var3, value="1",width=15,justify=LEFT).grid(column=0,row=3)
rbutton4=Radiobutton(tab2, text="skjlskhsdlgkjshgklsd", variable=var4, value="1",width=15,justify=LEFT).grid(column=0,row=4)
rbutton5=Radiobutton(tab2, text="sajfkshldjfhlsf", variable=var5, value="1",width=15,justify=LEFT).grid(column=0,row=5)
rbutton6=Radiobutton(tab2, text="sdfkj;kjfdlgh", variable=var6, value="1",width=15,justify=LEFT).grid(column=0,row=6)
rbutton7=Radiobutton(tab2, text="dsfjhkldsghsdghgfdsgdg", variable=var7, value="1",width=15,justify=LEFT).grid(column=0,row=7)
rbutton8=Radiobutton(tab2, text="gsjhdgjkdshl", variable=var8, value="1",width=15,justify=LEFT).grid(column=0,row=8)

【问题讨论】:

标签: python tkinter radio-button


【解决方案1】:

只需使用.pack(anchor=W)

Radiobutton(master=frame,text='Easy',padx = 20,variable=level,value=0,command=lambda : self.settings.setLevel(level.get())).pack(anchor=W)

【讨论】:

    【解决方案2】:

    对所有重复的事情使用循环。 他们只需几行代码即可为您创建按钮。 截图会很好。我很难理解你想要完成什么。

    这就是你如何将标签放在左侧的包装:

    w = Label(root, text="Blue", bg="blue", fg="white")
    w.pack(side=LEFT)
    

    使用 Grid 可以将它们放在第一列

    【讨论】:

    • 问题是当我尝试在窗口中执行此操作时,按钮出现在左侧,但所有按钮中的按钮点不对齐。我很快就会发一张照片。
    【解决方案3】:

    rbutton=Radiobutton(tab2, text="ggdsh", variable=var1, value="1").grid(column=0,row=1,sticky=tk.W) 这对我有用。原来问题是在我的应用程序中指定单选按钮宽度并混合 .pack() 和 .grid() 。

    【讨论】:

      【解决方案4】:
      root = Tk()
      root.geometry("600x400")
      root.title("Radio Button")
      colorVar = StringVar()
      colorVar.set('#FF0000')
      bgColors = [("blue", '#0000FF'),("red", '#FF0000'),("yellow", '#FFFF00'),("cyan", '#00FFFF'),("gray", "#888888")]
      frame = Frame(root, width=30, height=70)
      frame.pack()
      for text, color in bgColors:
          Radiobutton(frame, text=text, variable=colorVar, value=color).pack(anchor=W)
      

      【讨论】:

      • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。
      猜你喜欢
      • 2020-03-26
      • 2022-01-05
      • 1970-01-01
      • 2016-08-28
      • 2021-01-20
      • 1970-01-01
      • 2012-11-13
      • 2021-10-22
      • 2011-05-08
      相关资源
      最近更新 更多