मैं चाहता हूं कि मेरे टिंकर बटन, प्रविष्टि और पाठ बाईं ओर लंबवत बीच में तैरें। मैंने साइड = लेफ्ट के साथ पैक() का उपयोग करने की कोशिश की है, लेकिन यह उन्हें क्षैतिज रूप से ढेर कर देता है, अगर मैं उन्हें लंबवत रूप से ढेर कर सकता हूं जो सही होगा। मैंने ग्रिड का उपयोग करने की कोशिश की है, लेकिन मैं उन्हें बीच में नहीं ला सकता। मैंने एंकर डब्ल्यू की कोशिश की है लेकिन वह भी काम नहीं किया। धन्यवाद!

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() 
0
draoner 18 अप्रैल 2021, 02:10

1 उत्तर

सबसे बढ़िया उत्तर

क्या आप उन्हें ऐसा बनाना चाहते हैं:

from tkinter import Tk, Frame, Label, Entry, Button


root = Tk()
root.geometry('500x400')

widget_frame = Frame(root)
widget_frame.pack(side='left')

Label(widget_frame, text='Enter info below').pack()
Entry(widget_frame).pack()
Button(widget_frame, text='Submit').pack()

root.mainloop()

आप बस एक फ्रेम का उपयोग कर सकते हैं जो बाईं ओर पैक किया जाएगा और फ्रेम के अंदर विजेट पैक किया जाएगा और वे बाईं ओर और केंद्र में होंगे

2
Matiiss 17 अप्रैल 2021, 23:33