如何将tkinter输入框放在同一行?

问题描述 投票:0回答:1

我一直无法弄清楚如何将我的输入框放在同一行(条目,入口2,入口3),我已经尝试在互联网上查看,但没有一个能解决我的问题。这是基本代码(我使用的是我的raspbian atm):

import curses, time
import Tkinter as Alarm
class test(Alarm.Frame):
    def __init__(self, parent):
        Alarm.Frame.__init__(self, parent)
        self.prompt = Alarm.Label(self, text="Enter hours (Max: 24 hours) , minutes, seconds:", anchor="w")
        self.entry = Alarm.Entry(self, width=1)
        self.entry2 = Alarm.Entry(self, width=1)
        self.entry3 = Alarm.Entry(self, width=1)
        self.prompt2 = Alarm.Label(self, text="Alarm Message:", anchor="w")
        self.entry4 = Alarm.Entry(self)
        self.output = Alarm.Label(self, text="00:00:00",font=(24))
        self.submit = Alarm.Button(self, text="Start", command = self.startTimer)
        self.prompt.pack(side="top", fill="x")
        self.entry.pack(side="top", fill="x", padx=10)
        self.entry2.pack(side="top", fill="x", padx=10)
        self.entry3.pack(side="top", fill="x", padx=10)
        self.prompt2.pack(side="top", fill="x")
        self.entry4.pack(side="top", fill="x", padx=20)
        self.output.pack(side="top", fill="x", expand=True)
        self.submit.pack(side="bottom")

我从我的实际文件中复制并粘贴了大部分代码,因此可能会有一些不相关的代码。

python-2.7 tkinter raspbian tk tkinter-entry
1个回答
1
投票

如果你真的坚持使用pack,我会建议你在中间添加一个框架只是为了条目。

class test(Alarm.Frame):
    def __init__(self, parent):
        Alarm.Frame.__init__(self, parent)
        self.prompt = Alarm.Label(self, text="Enter hours (Max: 24 hours) , minutes, seconds:", anchor="w")
        self.prompt2 = Alarm.Label(self, text="Alarm Message:", anchor="w")
        self.entry4 = Alarm.Entry(self)
        self.output = Alarm.Label(self, text="00:00:00",font=(24))
        self.submit = Alarm.Button(self, text="Start", command = self.startTimer)
        self.prompt.pack(side="top", fill="x")
        mid_frame = Alarm.Frame(self)
        mid_frame.pack()
        self.entry = Alarm.Entry(mid_frame, width=1)
        self.entry2 = Alarm.Entry(mid_frame, width=1)
        self.entry3 = Alarm.Entry(mid_frame, width=1)
        self.entry.pack(side="left", fill="x",padx=10)
        self.entry2.pack(side="left",fill="x", padx=10)
        self.entry3.pack(side="left",fill="x", padx=10)
        self.prompt2.pack(side="top", fill="x")
        self.entry4.pack(side="top", fill="x", padx=20)
        self.output.pack(side="top", fill="x", expand=True)
        self.submit.pack(side="bottom")
        self.pack()
© www.soinside.com 2019 - 2024. All rights reserved.