首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >举起tkMessageBox

举起tkMessageBox
EN

Stack Overflow用户
提问于 2012-09-19 17:15:15
回答 2查看 3.1K关注 0票数 4

我正在使用tkMessageBox.showinfo (info at tutorialspoint)在我的程序中弹出警告。

只有当屏幕上有第二个TopLevel窗口(主窗口除外)调用警告时,才会发生问题:在这种情况下,警告仍然隐藏在第二个TL窗口之后。

我试着这样称呼它:

代码语言:javascript
复制
tkMessageBox.showinfo(title='Warning',message=s).lift()

但是它不起作用。有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-20 22:50:21

我认为消息框只能保证在它的父级之上。如果您创建了第二个顶层,且希望messagebox位于第二个窗口顶部,请使第二个窗口成为messagebox的父窗口。

代码语言:javascript
复制
tl2 = tk.Toplevel(...)
...
tkMessageBox.showinfo("Say Hello", "Hello World", parent=tl2)
票数 6
EN

Stack Overflow用户

发布于 2012-09-20 21:31:45

我看不出你所描述的问题。我在下面写的代码就是创建一个窗口所需的最小代码,这个窗口创建第二个窗口。第二个窗口使用showinfo方法创建一个信息框。我想知道除了这个你们还有没有别的东西。(请注意,我将窗口设置得有点大,以便试图遮盖信息窗口。)

代码语言:javascript
复制
from Tkinter import Tk, Button, Toplevel
import tkMessageBox

top = Tk()
def make_window():
    t = Toplevel(top)
    t.title("I'm Window 2. Look at me too!")
    B2 = Button(t, text = "Click me", command = hello)
    B2.pack()
    t.geometry('500x500+50+50')

def hello():
    tkMessageBox.showinfo("Say Hello", "Hello World")

B1 = Button(top, text = "New Window", command = make_window)
B1.pack()

top.title("I'm Window 1. Look at me!")
top.geometry('500x500+100+100')
top.mainloop()

这是在Windows7(64位)上使用Python 2.7 (32位)进行测试的。它会产生类似这样的结果:

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

https://stackoverflow.com/questions/12491731

复制
相关文章

相似问题

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