在pyqt预设ui窗口中使用qpainter绘图详解
本文将指导您如何在已设计的PyQt UI窗口中使用QPainter进行绘图。

步骤:
AutoIt v3 版本, 这是一个使用类似 BASIC 脚本语言的免费软件, 它设计用于 Windows GUI(图形用户界面)中进行自动化操作. 利用模拟键盘按键, 鼠标移动和窗口/控件的组合来实现自动化任务. 而这是其它语言不可能做到或无可靠方法实现的(比如VBScript和SendKeys). AutoIt 非常小巧, 完全运行在所有windows操作系统上.(thesnow注:现在已经不再支持win 9x,微软连XP都能放弃, 何况一个win 9x支持), 并且不需要任何运行库. AutoIt
- 导入必要模块:
from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtGui import QPainter, QPen
- 在UI类中重写paintEvent()方法: 这是关键步骤,QPainter绘图必须在这个方法内进行。
def paintEvent(self, event):
qp = QPainter()
qp.begin(self)
self.drawLines(qp) # 调用自定义绘图函数
qp.end()
- 创建绘图函数 (例如:drawLines): 在此函数中,您可以使用QPainter的各种方法进行绘图。以下示例绘制几条线段:
def drawLines(self, qp):
# 创建QPen对象,设置画笔颜色、宽度和线条样式
pen = QPen(QtCore.Qt.black, 2, QtCore.Qt.SolidLine)
qp.setPen(pen)
# 使用drawline()方法绘制线段
qp.drawLine(120, 120, 120, 210)
qp.drawLine(135, 94, 120, 120)
qp.drawLine(135, 94, 150, 120)
qp.drawLine(150, 120, 150, 210)
qp.drawLine(120, 210, 150, 210)
- 在主应用程序中实例化UI类并显示窗口:
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Form = QtWidgets.QWidget()
ui = Ui_Form() # 假设Ui_Form是您的UI类
ui.setupUi(Form)
Form.show()
sys.exit(app.exec_())
通过以上步骤,您就可以在已设计的PyQt UI窗口上使用QPainter进行绘图了。 记住将Ui_Form替换成您实际的UI类名。 您可以根据需要修改drawLines函数来绘制不同的图形,例如矩形、椭圆、文本等等,QPainter提供了丰富的绘图功能。









