📜  pyqt 点击窗口 (1)

📅  最后修改于: 2023-12-03 15:18:46.427000             🧑  作者: Mango

PyQt 点击窗口

PyQt 是基于 Qt 库的 Python GUI 工具包。它提供了创建 GUI 应用程序的组件和工具,其中包括窗口、按钮、菜单栏等等。

在 PyQt 中点击窗口可以实现很多功能,比如关闭窗口、最小化窗口、移动窗口等等。下面介绍一些常用的点击窗口的方法和示例代码。

关闭窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
from PyQt5.QtCore import Qt

class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        self.initUI()
        
    def initUI(self):
        self.btn = QPushButton('Quit', self)
        self.btn.setGeometry(50, 50, 100, 50)
        self.btn.clicked.connect(self.close)
        
        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('Quit button')
        self.show()
        
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

这是一个简单的关闭窗口的示例代码。当点击 Quit 按钮时,调用 close 方法关闭窗口。这里使用了 QApplicationQWidgetQPushButton 等组件。

最小化和最大化窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
from PyQt5.QtCore import Qt

class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        self.initUI()
    
    def initUI(self):
        minBtn = QPushButton('Minimize', self)
        minBtn.setGeometry(50, 50, 100, 50)
        minBtn.clicked.connect(self.showMinimized)
        
        maxBtn = QPushButton('Maximize', self)
        maxBtn.setGeometry(50, 110, 100, 50)
        maxBtn.clicked.connect(self.showMaximized)
        
        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('Minimize and Maximize')
        self.show()
        
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

这是一个最小化和最大化窗口的示例代码。当点击 Minimize 按钮时,调用 showMinimized 方法最小化窗口;当点击 Maximize 按钮时,调用 showMaximized 方法最大化窗口。

移动窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel
from PyQt5.QtGui import QColor, QPainter
from PyQt5.QtCore import Qt

class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        self.initUI()
    
    def initUI(self):
        self.lbl = QLabel(self)
        self.lbl.setGeometry(50, 50, 100, 100)
        self.lbl.setStyleSheet('background-color: blue')
        
        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('Move window')
        self.show()
        
    def mousePressEvent(self, event):
        self.offset = event.pos()
        
    def mouseMoveEvent(self, event):
        x = event.globalX()
        y = event.globalY()
        x_w = self.offset.x()
        y_w = self.offset.y()
        self.move(x - x_w, y - y_w)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

这是一个移动窗口的示例代码。当按下鼠标左键并拖动时,调用 mousePressEventmouseMoveEvent 方法移动窗口。这里使用了 QLabelQColorQPainterQMouseEvent 等组件和方法。

以上就是 PyQt 点击窗口的一些介绍和示例代码。本文涉及的代码片段已经按 markdown 标示返回。