askstring函数执行后的窗口我需要代码能够进行定位
时间: 2023-08-21 09:02:49 浏览: 97
MySQL8之窗口函数实战&应用
4星 · 用户满意度95%
好的,您可以在`askstring()`函数中传入`parent`参数,将弹出的对话框定位到指定的父窗口上。以下是修改后的代码:
```
import tkinter as tk
import tkinter.simpledialog as sd
class MyDialog(sd.SimpleDialog):
def __init__(self, parent, x, y):
super().__init__(parent, title="My Dialog")
self.x = x
self.y = y
def show(self, *args):
super().show(*args)
self.geometry("+{}+{}".format(self.x, self.y))
# 添加一个按钮,用于触发输入对话框
button = tk.Button(self, text="输入", command=self.show_input_dialog)
button.pack(side="bottom", padx=10, pady=10)
def show_input_dialog(self):
# 弹出一个输入对话框,让用户输入内容
value = sd.askstring("输入", "请输入内容:", parent=self)
if value is not None:
print("您输入的内容是:", value)
root = tk.Tk()
# 创建 SimpleDialog 对象,并指定位置参数
MyDialog(root, 300, 200)
root.mainloop()
```
在这个修改后的代码中,我们在`askstring()`函数中传入了`parent=self`参数,将弹出的对话框定位到MyDialog类的实例上。这样,当用户点击输入按钮时,弹出的对话框就会在MyDialog类的实例上方弹出,而不是在屏幕的中央。
需要注意的是,如果您想要将对话框定位到其他窗口上,只需要将`parent`参数设置为其他窗口的对象即可。
阅读全文