pyqt 按钮窗口放大缩小移动
时间: 2023-07-04 15:28:04 浏览: 135
您可以使用PyQt的QWidget类来创建窗口,并在窗口中添加QPushButton按钮。要使窗口能够放大缩小,请将窗口的大小策略设置为QSizePolicy中的Expanding。以下是一个示例代码,其中包含一个可放大缩小的窗口和两个按钮,分别用于移动和缩放窗口:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QSizePolicy
from PyQt5.QtCore import Qt
class MyWindow(QWidget):
def __init__(self):
super().__init__()
# 设置窗口大小策略为Expanding
size_policy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
self.setSizePolicy(size_policy)
# 创建两个按钮
btn_move = QPushButton("Move", self)
btn_move.move(10, 10)
btn_scale = QPushButton("Scale", self)
btn_scale.move(10, 50)
btn_scale.clicked.connect(self.on_scale_clicked)
def on_scale_clicked(self):
# 点击“Scale”按钮时,设置窗口大小为当前大小的2倍
width = self.width() * 2
height = self.height() * 2
self.resize(width, height)
def keyPressEvent(self, event):
# 监听键盘事件,当按下左箭头键时,窗口向左移动10个像素
if event.key() == Qt.Key_Left:
pos = self.pos()
self.move(pos.x() - 10, pos.y())
if __name__ == '__main__':
app = QApplication([])
window = MyWindow()
window.show()
app.exec_()
```
在这个示例中,我们创建了一个MyWindow类,它继承自QWidget。在__init__方法中,我们将窗口的大小策略设置为Expanding,并创建了两个按钮,一个是用于移动窗口,另一个是用于缩放窗口。当点击“Scale”按钮时,我们将窗口的大小设置为当前大小的2倍。当按下左箭头键时,我们将窗口向左移动10个像素。您可以按照需要修改代码以实现您的要求。
阅读全文