如何在 PyQt6 中将新创建的窗口定位到主窗口的特定坐标位置并显示出来?
时间: 2024-12-04 11:26:06 浏览: 21
在PyQt6中,你可以使用`QMainWindow`的`setGeometry()`函数来设置窗口的位置,使其相对于其他窗口或屏幕定位。首先,你需要创建一个新的`QDialog`或`QWidget`作为子窗口,然后设置其几何信息。这里是一个基本的例子:
```python
import sys
from PyQt6.QtWidgets import QApplication, QMainWindow, QWidget
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建主窗口
self.setWindowTitle("Main Window")
self.setGeometry(100, 100, 800, 600) # 设置初始位置
# 创建子窗口
child_window = QWidget()
child_window.setWindowTitle("Child Window")
# 设置子窗口的位置,相对于主窗口的左上角偏移100x100像素
pos = self.pos() + QPoint(100, 100)
child_window.setGeometry(pos, QSize(400, 300))
# 将子窗口添加到主窗口的布局中
self.setCentralWidget(child_window)
if __name__ == "__main__":
app = QApplication(sys.argv)
main_win = MainWindow()
main_win.show()
sys.exit(app.exec())
```
在这个例子中,子窗口会被定位到主窗口的右下角(100, 100)坐标处,即从主窗口的右边缘向右偏移100像素,从底部向上偏移100像素。
阅读全文