Qt代码创建分隔条

我们在使用Qt时,会发现在使用UI界面时可以添加窗口分隔条,但我们使用纯代码时却没有分隔条的类函数。这时候我们就需要手动添加,添加方式和Qt自定义标签按钮一样,下面我直接写代码。如果不知道怎么添加的,请先转到Qt自定义标签按钮。

splitLine.h文件:

 1 #ifndef SPLITLINE_H 2 #define SPLITLINE_H 3  4 #include <QFrame> 5  6 class SplitLine : public QFrame 7 { 8     Q_OBJECT 9 public:10     SplitLine(QWidget *parent = 0);11     QFrame *frame;12 public slots:13     int setHorizontalVertical( int i=0 );//i=0时是水平分割线,i=1时是垂直分割线,默认为水平分割14     void setSizeRect( int x=0, int y=0, int w=100, int h=30);15 };16 17 #endif // SPLITLINE_H

splitLine.cpp文件:

 1 #include "splitline.h" 2  3 SplitLine::SplitLine(QWidget *parent) : QFrame(parent) 4 { 5     frame = new QFrame(this); 6     setHorizontalVertical(0);           //默认为水平分割 7 } 8  9 int SplitLine::setHorizontalVertical(int i) //i=0时是水平分割线,i=1时是垂直分割线,默认为水平分割,已设置有默认尺寸10 {11     if(i==0)12     {13         frame->setFrameShape(QFrame::HLine);        // 水平分割线14         frame->setFrameShadow(QFrame::Sunken);15         setSizeRect(30,30,100,20);                              //设置默认尺寸16     }17     if(i==1)18     {19         frame->setFrameShape(QFrame::VLine);        // 垂直分割线20         frame->setFrameShadow(QFrame::Sunken);21         setSizeRect(30,30,20,100);22     }23     else24     {25         frame->setFrameShape(QFrame::HLine);26         frame->setFrameShadow(QFrame::Sunken);27         setSizeRect(30,30,100,20);28     }29     return i;30 }31 32 void SplitLine::setSizeRect( int x, int y, int w, int h)33 {34    frame-> setGeometry(QRect(x,y,w,h));35 }

之后在Qt工程中调用即可。需要注意的是如果需要设置分割线的尺寸和布局方向,请先设置布局方向,否则分割线的尺寸是默认尺寸

爱情使人忘记时间,时间也使人忘记爱情。

Qt代码创建分隔条

相关文章:

你感兴趣的文章:

标签云: