首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >tkinter按钮的高度和宽度

tkinter按钮的高度和宽度
EN

Stack Overflow用户
提问于 2013-11-15 23:34:41
回答 2查看 42.9K关注 0票数 9

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

代码语言:javascript
运行
复制
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)
EN

回答 2

Stack Overflow用户

发布于 2013-11-16 01:02:43

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

现在,你说你的最终目标是改变按钮的大小。如果是这样,那么您就走上了正确的道路:为此使用heightwidth选项。

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

  1. 不要把按钮做得这么大。即使是在非常大的显示器上,拥有这么大的按钮也是overkill.
  2. Don't让窗口变得如此巨大的原因。没有人想要一个占据整个屏幕的应用程序。
  3. 使用.grid而不是.place。这样做将使您更容易将小工具放置在您想要的位置。
  4. 在创建按钮时设置heightwidth选项,而不是在按钮之后设置。
  5. 无需在此处导入sys。只导入您需要的内容。
  6. 不像这样导入:from tkinter import *。这样做会在全局名称空间中转储一大堆名称,这些名称可以很容易地为overwritten.

以下是我对您的脚本的版本:

代码语言:javascript
运行
复制
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()
票数 5
EN

Stack Overflow用户

发布于 2021-08-11 11:20:59

代码语言:javascript
运行
复制
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一起使用会是一个更好的方法。

如果你想改变它的宽度和高度,只需将下面的代码放在按钮命令上即可。

代码语言:javascript
运行
复制
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)

如果你想通过config改变它的宽度和高度,那么使用下面的代码。

代码语言:javascript
运行
复制
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)

据我所知,配置的宽度和高度与位置的宽度和高度是不同的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20004689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档