社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

figbeam

figbeam 最近创建的主题
figbeam 最近回复了

我已经关注这个问题好几天了,希望有人能对这个问题有所启发。我在windows 10下运行python 3.6.5,也遇到了同样的问题。

我试过几种不同的方法,但似乎微软是按照自己的方式来做的。我终于找到了一个有效的方法,但前提是你不隐藏根窗口:

import tkinter as tk
from tkinter import simpledialog

root = tk.Tk()
#root.withdraw()     # This does not work if you hide the root window

root.update_idletasks()
answer1 = simpledialog.askstring("Test1","This one gets focus",parent=root)

root.update_idletasks()
answer2 = simpledialog.askstring("Test2","This one doesn't",parent=root)
6 年前
回复了 figbeam 创建的主题 » 在python tkinter中有没有调整按钮大小的方法?

我猜你想设置按钮的像素大小。当按钮显示文本但不显示图像时,按钮大小默认为字符。要使大小成为像素,您必须在按钮中显示图像。请参见下面的示例:

import tkinter as tk

win = tk.Tk()
win.geometry("660x450")
win.resizable(False, False)

def click_me():
    button.configure(text="** I have been clicked")

# Create a transparent image to allow Button size in pixels
pixel = tk.PhotoImage(file='images/pixel.png')

button = tk.Button(win, text="Click me!", command=click_me,
                   image=pixel, compound='center')
button.grid(column=1, row=0)
button.config(width=100, height=100)    # Config size in pixels

win.mainloop()

这个 pixel.png 图像为1x1像素,颜色透明。

6 年前
回复了 figbeam 创建的主题 » python-随意改变按钮的位置

似乎 place() 需要关键字参数。你可以让功能 position() 返回一个dict并将其解压缩到 位置() 声明:

def position(self):
    return {'x':randrange(0,400),'y':randrange(0,300)}

将按钮放置在:

self.Button1.place(**self.position())

您还需要在按钮名称前面加上“self”前缀,以便能够从函数外部访问它。 __init__window() .

然后简单地添加 位置() 按钮回调函数中的语句:

def Message(self):
    print("Hello world")
    self.Button1.place(**self.position())

至少对我来说这是正常的(Win10下的python 3.6.5)。

您必须减少为x和y生成的随机值,否则按钮的某些部分会偶尔出现在窗口之外…