📅  最后修改于: 2023-12-03 15:18:46.427000             🧑  作者: Mango
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
方法关闭窗口。这里使用了 QApplication
、QWidget
和 QPushButton
等组件。
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_())
这是一个移动窗口的示例代码。当按下鼠标左键并拖动时,调用 mousePressEvent
和 mouseMoveEvent
方法移动窗口。这里使用了 QLabel
、QColor
、QPainter
和 QMouseEvent
等组件和方法。
以上就是 PyQt 点击窗口的一些介绍和示例代码。本文涉及的代码片段已经按 markdown 标示返回。