上序代码怎么改进才能改变线条的颜色
时间: 2023-07-10 20:22:19 浏览: 39
要改变线条的颜色,可以在绘制线条的时候使用 `setPen` 方法设置画笔的颜色。具体的做法是:
1. 导入 `QPen` 类:`from PyQt5.QtGui import QPen`
2. 创建一个 `QPen` 对象,并设置颜色,例如:`pen = QPen(QColor(255, 0, 0))`,这里用的是红色。
3. 调用 `painter.setPen(pen)` 方法,将画笔应用到绘制线条的上下文中。
以下是一个示例代码:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QPainter, QColor, QPen
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 350, 100)
self.setWindowTitle('Pen styles')
self.show()
def paintEvent(self, e):
qp = QPainter()
qp.begin(self)
self.drawLines(qp)
qp.end()
def drawLines(self, qp):
pen = QPen(QColor(255, 0, 0)) # 创建一个红色的画笔对象
pen.setWidth(4) # 设置线条宽度为 4
qp.setPen(pen) # 将画笔应用到绘制线条的上下文中
# 绘制一条从左上角到右下角的直线
qp.drawLine(0, 0, 300, 100)
pen.setColor(QColor(0, 255, 0)) # 修改画笔的颜色为绿色
qp.setPen(pen) # 将修改后的画笔应用到绘制线条的上下文中
# 绘制一条从右上角到左下角的直线
qp.drawLine(300, 0, 0, 100)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
运行代码后,你会看到绘制出来的两条线的颜色一个是红色,一个是绿色。