微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在左侧垂直浮动 tkinter 按钮

如何解决如何在左侧垂直浮动 tkinter 按钮

我希望我的 tkinter 按钮、条目和文本垂直浮动在左侧的中间。我试过使用带有 side=left 的 pack(),但它只是水平堆叠它们,如果我能垂直堆叠它们就完美了。我试过使用网格,但我无法将它们放在中间。我试过锚 w 但这也不起作用。谢谢!

import tkinter as tk

class Fullscreen:
    def __init__(self):
        self.window = tk.Tk()
        self.window.title("Example")
        self.fullScreenState = True 
        self.window.attributes("-fullscreen",self.fullScreenState)

        self.w,self.h = self.window.winfo_screenwidth(),self.window.winfo_screenheight()
        self.window.geometry("%dx%d" % (self.w,self.h))
        
        self.window.bind("<F11>",self.toggleFullScreen)
        self.window.bind("<Escape>",self.quitFullScreen)

        def room_button():
            room_text = room_key.get()
            print(room_text)

        def message_button():
            message_text = message.get(1.0,tk.END)
            handle_text = handle.get()
            print(message_text)
            print(handle_text)
           
        greeting = tk.Label(text="Welcome")
        # Pack displays the Label's text in the window.
        greeting.grid(column=1,sticky='w')

        display_room = tk.Label(text="Room:")
        display_room.grid(column=1,sticky='w')

        room_key = tk.Entry()
        room_key.grid(column=1,sticky='w')

        send_room_key = tk.Button(text="Change Rooms",command=room_button)
        send_room_key.grid(column=1,sticky='w')

        display_message = tk.Label(text="Message:")
        display_message.grid(column=1,sticky='w')

        message = tk.Text()
        message.grid(column=1,sticky='w')

        display_handle = tk.Label(text="Handle (optional):")
        display_handle.grid(column=1,sticky='w')

        handle = tk.Entry()
        handle.grid(column=1,sticky='w')

        send_message = tk.Button(text="Send Message",command=message_button)
        send_message.grid(column=1,sticky='w')

        quit_button = tk.Button(text="Quit",command=self.window.destroy)
        quit_button.grid(column=1,sticky='w')

        self.window.mainloop()

    def toggleFullScreen(self,event):
        self.fullScreenState = not self.fullScreenState
        self.window.attributes("-fullscreen",self.fullScreenState)

    def quitFullScreen(self,event):
        self.fullScreenState = False
        self.window.attributes("-fullscreen",self.fullScreenState)

if __name__ == '__main__':
    app = Fullscreen() 

解决方法

这就是你想要的样子吗:

module.exports = (sequelize,DataTypes) => {
  const Session = sequelize.define(
    "Session",{
      session_id: {
        type: DataTypes.INTEGER,primaryKey: true,autoIncrement: true,},institut_id: {
        type: DataTypes.INTEGER,start: {
        type: DataTypes.DATE,end: {
        type: DataTypes.DATE,test_has_level_id: {
        type: DataTypes.INTEGER,limitDateSubscribe: {
        type: DataTypes.DATE,placeAvailable: {
        type: DataTypes.INTEGER,{
      tableName: "sessions",timestamps: false,}
  );
  Session.associate = (models) => {
    Session.belongsTo(models.testHasLevel,{
      foreignKey: "test_has_level_id",as: "test_has_level",});
  };
  return Session;
};

您可以只使用一个将被打包到左侧的框架并将小部件打包在框架内,它们将位于左侧和中心

,

你也可以使用这个:

import tkinter as tk

root = tk.Tk()
root.geometry("500x400")

label = tk.Label(root,text="Enter info below")
label.grid(row=1,column=1,pady=(150,0))
entry = tk.Entry(root)
entry.grid(row=2,column=1)
button = tk.Button(root,text='Submit')
button.grid(row=3,column=1)

root.mainloop()

pady=(150,0) 告诉 grid 方法它应该将小部件上方 150 像素留空。这将使您能够更好地控制小部件的放置位置。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。