Qt如何绘制边框,如何画一条线

一,如何绘制边框

方法:重新paintEvent事件函数

1,.h增加

protected:

    void paintEvent(QPaintEvent *event);

 

2,.cpp增加

void testWidget::paintEvent(QPaintEvent *event)

{
    //绘制边框
    QPainter painter(this);
    painter.setPen(QColor(139, 139, 139));
    painter.drawLine(0, 0, this->width() - 1, 0);
    painter.drawLine(0, 0, 0, this->height() - 1);
    painter.drawLine(this->width() - 1, 0, this->width() - 1, this->height() - 1);
    painter.drawLine(0, this->height() - 1, this->width() - 1, this->height() - 1);
}

 

二,如何画一条线

方法1:如上面绘制边框的方法,直接画一条线

QPainter painter(this);

painter.setPen(QColor(139, 139, 139));
painter.drawLine(0, 0, 100, 100);
 
方法2:使用QFrame类绘制一条线
QFrame *spilterLine = new QFrame();
spilterLine->setFixedSize(240, 2);
spilterLine->setFrameShape(QFrame::HLine);
spilterLine->setFrameShadow(QFrame::Sunken);

 

扩展:

通过设置线的宽度和风格(setFrameShape和setFrameShadow)之间的不同组合可以绘制出各种不同风格的线,具体组合可以参考

http://www.kuqin.com/qtdocument/qframe.html

你可能感兴趣的:(Qt)