编写程序,程序开始运行时在界面中显示一个白色的圆,当在圆中按下鼠标键时颜色变为蓝色,释放鼠标时颜色为红色。界面如下图所示:
时间: 2024-03-27 22:36:54 浏览: 60
外部exe程序嵌入到Qt界面,点击按钮在QT中运行显示
以下是使用 Python 和 PyQt5 库编写的程序,可以实现你的需求:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QPainter, QColor
from PyQt5.QtCore import Qt
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 350, 350)
self.setWindowTitle('Click to Change Color')
self.show()
def paintEvent(self, event):
qp = QPainter()
qp.begin(self)
self.drawCircle(qp)
qp.end()
def drawCircle(self, qp):
if self.mousePressed:
qp.setBrush(QColor(0, 0, 255)) # 蓝色
else:
qp.setBrush(QColor(255, 0, 0)) # 红色
qp.setPen(QColor(255, 255, 255)) # 白色
qp.drawEllipse(100, 100, 150, 150)
def mousePressEvent(self, event):
if event.button() == Qt.LeftButton:
self.mousePressed = True
self.update()
def mouseReleaseEvent(self, event):
if event.button() == Qt.LeftButton:
self.mousePressed = False
self.update()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
程序中使用了 PyQt5 库,首先我们需要将其安装。
在程序中,我们创建了一个名为 Example 的 QWidget 类,实现了界面的初始化、绘制、鼠标事件等功能。在界面上绘制一个白色的圆,当鼠标左键按下时,将圆的颜色改为蓝色;当鼠标左键释放时,将圆的颜色改为红色。
在程序的最后,我们创建了一个 QApplication 对象,并将 Example 对象作为主窗口显示出来。
阅读全文