我正在尝试创建一个按钮并使用下面的代码更改高度和宽度,但实际按钮并未实际显示。但是,如果您将鼠标悬停在应有的区域上并单击它将打开新窗口。有什么想法吗?
import sys
from tkinter import *
#main menu
def mmWindow():
mmWindow=Tk()
mmWindow.geometry('600x600')
#first window
mWindow= Tk()
mWindow.geometry('1920x1080+0+0')
mWindow.title('DMX512 Controller')
wtitle = Label (mWindow, text = "Pi DMX", fg = 'blue')
wtitle.place(x = 640, y = 100)
#main menu button
mmbutton = Button (mWindow, text = "Main Menu",command = mmWindow)
mmbutton.place( x=200, y = 200)
mmbutton.config(width=200, height=200)
关于您最初的问题:按钮确实实际出现。问题是,由于它太大了,很难与窗口的其余部分区分开来。
现在,您说您的最终目标是更改按钮的大小。如果是这样,那么您就走在正确的道路上:您可以使用
height
和 width
选项来实现此目的。
但是,我建议您对代码进行一些更改:
.grid
而不是 .place
。这样做将使您更轻松地将小部件放置在您想要的位置。height
和 width
选项,而不是在按钮之后。sys
。只导入您需要的内容。from tkinter import *
。这样做会转储全局名称空间中的一大堆名称,这些名称很容易被覆盖。这是我的脚本版本:
import tkinter as tk
def mmWindow():
mmWindow = tk.Tk()
mmWindow.geometry('600x600')
mWindow = tk.Tk()
# You can set any size you want
mWindow.geometry('500x500+0+0')
mWindow.title('DMX512 Controller')
wtitle = tk.Label(mWindow, text="Pi DMX", fg='blue')
wtitle.grid(row=0, column=1)
# You can set any height and width you want
mmbutton = tk.Button(mWindow, height=5, width=20, text="Main Menu", command=mmWindow)
mmbutton.grid(row=1, column=1)
mWindow.mainloop()
import sys
from tkinter import *
def update_window_size():
mmWindow.geometry('600x600')
mmWindow = Tk()
mmWindow .geometry('1920x1080+0+0')
mmWindow .title('DMX512 Controller')
wtitle = Label(mmWindow, text="Pi DMX", fg='blue')
wtitle.place(relx=0.33, rely=0.0925925)
mmbutton = Button(mmWindow, text="Main Menu", command=update_window_size)
mmbutton.place(relw=0.104167, relh=0.185185, relx=0.104167, rely=0.185185)
mmWindow.mainloop()
我知道这已经晚了,但只是想添加我的方法来解决如何更改按钮大小的问题。我相信将 place 与 relw 和 relh 一起使用将是更好的方法。 relw 和 relh & relx 和依赖将是父窗口小部件的高度和宽度的分数。因此您无需担心调整 wtitle 和 mmbutton 的大小。
如果您想更改其宽度和高度,只需将下面的代码放在按钮命令上即可。
def update_button_size():
mmbutton.place(width=20, height=20)
mmbutton = Button(mmWindow, text="Main Menu", command=update_button_size)
mmbutton.place(width=400, height=400, relx=0.104167, rely=0.185185)
如果您想从配置更改其宽度和高度,请使用下面的代码。
def update_button_size():
mmbutton.config(width=20, height=20)
mmbutton = Button(mmWindow, text="Main Menu", command=update_button_size)
mmbutton.place(relx=0.104167, rely=0.185185)
mmbutton.config(width=400, height=400)
根据我的理解,配置宽度和高度与位置宽度和高度不同。
你可以使用 padx 和 pady: mmbutton = 按钮(mmWindow, text="主菜单", padx=43, pady=20)
或者只是删除尝试更改大小的代码并添加: mmbutton.config(padx=43, pady=20)
但请确保使用网格而不是位置!
希望我能帮助你 和平