zoukankan      html  css  js  c++  java
  • 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     else
    24     {
    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工程中调用即可。需要注意的是如果需要设置分割线的尺寸和布局方向,请先设置布局方向,否则分割线的尺寸是默认尺寸

  • 相关阅读:
    【数据分析】Superset 之一 准备
    MapReduce 中的两表 join 几种方案简介
    How MapReduce Works
    SpringMVC介绍之约定优于配置
    HDFS中JAVA API的使用
    MapReduce程序的工作过程
    Hadoop 学习总结之一:HDFS简介
    海量数据的二度人脉挖掘算法(Hadoop 实现)
    MapReduce源码分析总结
    mapreduce实现"浏览该商品的人大多数还浏览了"经典应用
  • 原文地址:https://www.cnblogs.com/CLXiao-1029/p/6992292.html
Copyright © 2011-2022 走看看