Qt 在控件上面绘图 label,pushbutton。。。。。
1、构建一个新类来调用该控件的绘图函数,新类重写 paintEvent(QPaintEvent *)
▶构建:
class DrawGraphLab : public QLabel
{
Q_OBJECT
public:
explicit DrawGraphLab( QWidget* parent = 0);
protected:
void paintEvent(QPaintEvent *event);
};
▶实现:
DrawGraphLab::DrawGraphLab(QWidget* parent) : QLabel(parent)
{
}
void DrawGraphLab::paintEvent(QPaintEvent *)
{
//绘制线条
QPainter painter;
painter.begin(this);
painter.setPen(QPen(QColor(132, 130, 130) ,4) );
painter.drawLine(951/2, 120, 951/2, 430);
painter.drawRect(10,10,200,200);
painter.end();
}
▶▶调用
void RoutePage::init_ui()
{
QLabel* p_station_tab = new QLabel(this);
p_station_tab->setGeometry(79, 66, 951, 537 );
p_station_tab->setPixmap