一,如何绘制边框
方法:重新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