【问题标题】:New window label新窗口标签
【发布时间】:2018-09-03 06:49:44
【问题描述】:

如何在我的 def new_window() 函数中放置我的标签,上面写着“问题一”。当你运行它时,标签被定位在底部,我希望它被应用在顶部。

from tkinter import *
from tkinter import ttk


#User Interface Code

root = Tk() # Creates the window
root.title("Quiz Game")

def new_window():
   newWindow = Toplevel(root)
   display = Label(newWindow, width=150, height=40)
   message = Label(newWindow, text="Question One", font = ("Arial", "24"))
   display.pack()
   message.pack()

display2 = Label(root, width=100, height=30, bg='green')
button1 = Button(root, text ="Continue", command=new_window, width=16, 
bg="red")
message_label1 = Label(text="A Quiz Game", font = ("Arial", "24"), padx=40, 
pady=20)
message_label2 = Label(root, text="Click 'Continue' to begin.", 
wraplength=250)

display2.pack()
button1.pack()
message_label1.pack()
message_label2.pack()

root.mainloop() # Runs the main window loop

【问题讨论】:

    标签: python tkinter label


    【解决方案1】:

    您的包装顺序错误。不要打包显示before你的message。因此,只需交换订单即可解决问题。

    这里是代码。用这个替换你的def new_window():

    def new_window():
       newWindow = Toplevel()
    
       message = Label(newWindow, text="Question One", font = ("Arial", "24"))
       display = Label(newWindow, width=150, height=40)
    
       message.pack()
       display.pack()
    

    pack 方法只是盲目地将小部件打包到窗口中。如果有空间,下一个pack 将在其下方完成。所以在打包小部件时要注意订单:)

    【讨论】:

      猜你喜欢
      • 2014-11-05
      • 1970-01-01
      • 2017-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-05
      • 2013-10-18
      相关资源
      最近更新 更多