Qt 画直线
时间: 2023-07-10 19:25:30 浏览: 115
在 Qt 中,可以使用 QPainter 绘制直线。具体操作如下:
1. 在需要绘制直线的控件的 paintEvent 事件中创建一个 QPainter 对象:
```
void MyWidget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
...
}
```
2. 调用 QPainter 的 drawLine 函数绘制直线,该函数需要传入起点和终点的坐标:
```
void MyWidget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
painter.drawLine(0, 0, 100, 100); // 从 (0, 0) 到 (100, 100) 绘制一条直线
...
}
```
完整的示例代码如下:
```
#include <QtWidgets>
class MyWidget : public QWidget
{
public:
explicit MyWidget(QWidget *parent = nullptr) : QWidget(parent) {}
protected:
void paintEvent(QPaintEvent *event) override
{
QPainter painter(this);
painter.drawLine(0, 0, 100, 100); // 从 (0, 0) 到 (100, 100) 绘制一条直线
Q_UNUSED(event);
}
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MyWidget w;
w.show();
return app.exec();
}
```