我在tkinter
中有一个需要跨越屏幕整个宽度的画布,但是无法使它正常工作。
我尝试将屏幕宽度设置为变量,并将其作为类中的参数传递给我,但我却遇到了错误,我尝试将root.winfo_screenwidth
设置为self.winfo_screenwidth
,但它只是抛出了一个我错了,我在www上寻找答案,但是我看到的最接近的东西是如何将root
设置为屏幕尺寸。
这是我的代码:
import tkinter as tk
class Window(tk.Frame):
def __init__(self, master, **kwargs):
super().__init__(master, **kwargs)
canvas = tk.Canvas(self, width="", height=100) #How to set the width to the screen width?
canvas.config(bg="#505050")
canvas.pack()
def mainloop_scw():
root = tk.Tk()
root.title("Editor - Adventure")
screenwidth = root.winfo_screenwidth()
screenheight = root.winfo_screenheight()
root.geometry("%sx%s" %(screenwidth, screenheight))
root.config(bg="#303030")
app = Window(root)
app.config(bg="#303030")
app.pack(fill=tk.BOTH, expand=True, padx=10, pady=10)
root.mainloop()
if __name__ == "__main__":
mainloop_scw()
有人知道我如何将canvas
的宽度设置为screenwidth
吗?
答案 0 :(得分:-1)
您不需要显式设置画布的宽度。 pack
具有一些选项,可用于强制画布占据屏幕的整个宽度。
canvas.pack(fill="x")