tkinter按钮的高度和宽度

use*_*828 8 python tkinter button

我正在尝试使用下面的代码创建一个按钮并更改高度和宽度,但实际按钮不会在物理上显示.但是,如果您将鼠标悬停在它应该是的区域上并单击它将打开新窗口.有任何想法吗?

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)
Run Code Online (Sandbox Code Playgroud)

小智 5

关于您最初的问题:按钮确实出现在物理上。问题是,由于它太大,很难与窗口的其余部分区分开来。

现在,您说过您的最终目标是更改按钮的大小。如果是这样,那么您就在正确的轨道上:您可以使用heightwidth选项。

但是,我建议您对代码进行一些更改:

  1. 不要把按钮弄得那么大。即使在一个非常大的显示器上,有一个这么大的按钮也太过分了。
  2. 不要把窗户弄得那么大。没有人想要占据整个屏幕的应用程序。
  3. 使用.grid代替.place。这样做将使您更轻松地将小部​​件放置在您想要的位置。
  4. 在制作按钮时设置heightwidth选项,而不是在按钮之后。
  5. 这里不需要导入sys。只导入你需要的东西。
  6. 不要像这样导入: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()
Run Code Online (Sandbox Code Playgroud)