tk的dialog是否可以指定出现坐标?
时间: 2023-11-29 19:06:23 浏览: 47
Android Dialog自定义
是的,可以通过设置对话框的 `geometry` 来指定它出现的位置。在 Tkinter 中,可以使用 `geometry` 方法来设置窗口的位置和大小,其语法如下:
```python
widget.geometry("width x height + x_offset + y_offset")
```
其中,`width` 和 `height` 分别表示窗口的宽度和高度,`x_offset` 和 `y_offset` 表示窗口左上角相对于屏幕左上角的偏移量。
对于 `tkinter.simpledialog` 中的对话框,可以通过重写 `show` 方法来设置对话框的位置。以下是一个示例代码:
```python
import tkinter as tk
import tkinter.simpledialog as sd
class MyDialog(sd.SimpleDialog):
def __init__(self, parent):
super().__init__(parent, title="My Dialog")
def show(self, *args):
super().show(*args)
self.geometry("+300+200")
root = tk.Tk()
# 创建 SimpleDialog 对象
MyDialog(root)
root.mainloop()
```
在这个示例中,我们重写了 `show` 方法,并在其中调用了 `geometry` 方法来设置对话框的位置。在这里,我们将对话框放置在屏幕的 (300, 200) 坐标处。
阅读全文