Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 展开页面顶部的画布_Python_Oop_Tkinter_Pycharm_Tk - Fatal编程技术网

Python 展开页面顶部的画布

Python 展开页面顶部的画布,python,oop,tkinter,pycharm,tk,Python,Oop,Tkinter,Pycharm,Tk,我有一个代码,在起始页的顶部有一个菜单,上面有一系列按钮供选择,这些按钮是“Home Task YourAddressess Payment”,我把它们都放在一块红色的画布上,形状像横幅,这样它们就可以突出。我想画布拉伸,如果用户扩大或缩小窗口,我实现了这一点,但由于某种原因,画布只是停留在页面的中间,而不是顶部,请帮助。这部分代码位于“类起始页(tk.Frame)”下 您需要将expand设置为False,因为您不希望它展开以填充所有额外的空间。最好是包含边=“顶部”,尽管那是默认的,因为它使

我有一个代码,在起始页的顶部有一个菜单,上面有一系列按钮供选择,这些按钮是“Home Task YourAddressess Payment”,我把它们都放在一块红色的画布上,形状像横幅,这样它们就可以突出。我想画布拉伸,如果用户扩大或缩小窗口,我实现了这一点,但由于某种原因,画布只是停留在页面的中间,而不是顶部,请帮助。这部分代码位于“类起始页(tk.Frame)”下


您需要将
expand
设置为
False
,因为您不希望它展开以填充所有额外的空间。最好是包含<代码>边=“顶部”<代码>,尽管那是默认的,因为它使你的意图更加清晰。

但是它填充了整个页面,但是它填充了整个页面:是的,考虑一下。
from tkinter import *
import time
import tkinter as tk
LARGE_FONT= ("Verdana", 12)

class SeaofBTCapp(tk.Tk):

    def __init__(self, *args, **kwargs):
        tk.Tk.__init__(self, *args, **kwargs)
        container = tk.Frame(self)
        container.pack(side="top", fill="both", expand = True)
        container.grid_rowconfigure(0, weight=1)
        container.grid_columnconfigure(0, weight=1)

        self.frames = {}

        for F in (StartPage, HypeExtractor, Task, Payment, YourAdressess):

            frame = F(container, self)

            self.frames[F] = frame

            frame.grid(row=0, column = 0, sticky="nsew")

        self.show_frame(StartPage)

    def show_frame(self, cont):
        #for frame in self.frames.values():
            #frame.grid_remove()

        frame = self.frames[cont]
        frame.tkraise()
        frame.winfo_toplevel().geometry("1024x720")

#The Bit 
class StartPage(tk.Frame):
    def __init__(self, parent, controller):
        tk.Frame.__init__(self, parent)

        #The Bit I Need Help On 
        c = Canvas(self, height=50, width=1024, bg="red")
        c.pack(fill = 'x',expand = True)
        homebutton = tk.Button(self, text='Home', command=lambda: controller.show_frame(HypeExtractor))
        homebutton_window = c.create_window(10, 12.5, anchor=tk.NW, window=homebutton)
        taskbutton = tk.Button(self, text='Task', command=lambda: controller.show_frame(Task))
        taskbutton_window = c.create_window(104, 12.5, anchor=tk.NW, window=taskbutton)
        adressbutton = tk.Button(self, text='Your Adressess', command=lambda: controller.show_frame(YourAdressess))
        adressbutton_window = c.create_window(196, 12.5, anchor=tk.NW, window=adressbutton)
        paymentbutton = tk.Button(self, text='Payment', command=lambda: controller.show_frame(Payment))
        paymentbutton_window = c.create_window(323, 12.5, anchor=tk.NW, window=paymentbutton)

        # usernameentry.delete(0, END)
        # passwordnameentry.delete(0, END)

class HypeExtractor(tk.Frame):
    def __init__(self, parent, controller):
        tk.Frame.__init__(self, parent)

class Task(tk.Frame):
    def __init__(self, parent, controller):
        tk.Frame.__init__(self, parent)

class YourAdressess(tk.Frame):
    def __init__(self, parent, controller):
        tk.Frame.__init__(self, parent)
class Payment(tk.Frame):
    def __init__(self, parent, controller):
        tk.Frame.__init__(self, parent)

app = SeaofBTCapp()
app.mainloop()