class MyLabel:public QLabel
{
public:
MyLabel(QWidget *);
void paintEvent(QPaintEvent *);
};
MyLabel::MyLabel(QWidget *widget):QLabel(widget)
{
}
void MyLabel::paintEvent(QPaintEvent *pe)
{
QPainter *paint = new QPainter(this);
paint->setPen(blue);
int x = 10;
int y = 10;
int d = 20;
paint->drawLine(0,y+d,x+d,y+d);
paint->drawLine(x+d,0,x+d,y+d);
paint->end();
}
class MyMainWindow:public QWidget
{
public:
MyMainWindow();
protected:
private:
// void paintEvent(QPaintEvent *);
MyLabel *label;
};
MyMainWindow::MyMainWindow()
{
label = new MyLabel(this);
label->setGeometry(50,50,100,50);
label->setText("my own label");
resize(200,160);
}
按照上面的例子就可以实现。但不建议这么做。