当前位置: 首页 > news >正文

企业网站做多大祁阳网站设计

企业网站做多大,祁阳网站设计,wordpress+高性能,建设实验室网站的意义一、前言 QSplitter继承于QFrame#xff0c;QFrame继承于QWidget#xff0c;是Qt的一个部件容器工具类。 框架类QFrame介绍 QSplitter拆分器#xff0c;用户通过拖动子部件之间的边界来控制子部件的大小#xff0c;在应用开发中数据分模块展示、图片展示等场景下使用。 二、…一、前言 QSplitter继承于QFrameQFrame继承于QWidget是Qt的一个部件容器工具类。 框架类QFrame介绍 QSplitter拆分器用户通过拖动子部件之间的边界来控制子部件的大小在应用开发中数据分模块展示、图片展示等场景下使用。 二、QSplitter类 1、childrenCollapsible         该属性表示用户是否可以将子部件的大小调整为0默认为true子节点是可折叠的。使用setCollapsible()来启用和禁用单个子节点的折叠。使用isCollapsible读取单个子节点的可折叠使能。 bool childrenCollapsible() const void setChildrenCollapsible(bool) bool isCollapsible(int index) const void setCollapsible(int index, bool collapse) 2、handleWidth 该属性表示分离器手柄操作的宽度。 int handleWidth() const void setHandleWidth(int) 3、opaqueResize 该属性表示在交互式移动拆分器时是否要动态调整小部件的大小默认为true。 bool opaqueResize() const void setOpaqueResize(bool opaque true) 4、orientation 该属性表示分离器方向。 Qt::Orientation orientation() const void setOrientation(Qt::Orientation) 5、公共方法 1获取子部件数量 int count() const 2增加子部件 使用addWidget()增加子部件插入到尾部。 void addWidget(QWidget *widget) 3插入子部件 使用insertWidget把子部件插入到指定的索引位置如果索引位置超出范围那么插入到尾部。 void insertWidget(int index, QWidget *widget) 4查找子部件 使用indexOf()查找子部件所在的索引如果不存在则返回-1。 int indexOf(QWidget *widget) const 5替换子部件 使用replaceWdiget()替换某索引下的部件。如果索引index无效那么返回一个null指针。 QWidget *replaceWidget(int index, QWidget *widget) 6获取子部件 使用widget()传入索引返回部件指针如果索引无效则返回null指针。 QWidget *widget(int index) const 7保存/恢复布局 使用saveState()保存当前布局状态返回一个QbyteArray。 使用restoreState()传入saveState()返回的QbyteArray恢复布局状态返回true如果参数不合法返回false。 QByteArray saveState() const bool restoreState(const QByteArray state) 8保存/设置部件大小 使用size()返回子部件的高度/宽度。 使用setSizes()设置子部件的高度/宽度。如果是QSplitter横向布局则设置宽度纵向布局则为设置高度。如果list的个数大于子部件个数那么多余的将被忽略如果是太少那么设置失败。如果设置的尺寸加起来大于或者小于QSplitter的尺寸那么将根据权重重新分配。 void setSizes(const QListint list) QListint sizes() const 9设置子部件拉伸因子 使用setStretchFactor设置子部件的拉伸因子。 void setStretchFactor(int index, int stretch) 示例 int index 0; int stretch 1; splitter-setStretchFactor(index,stretch); //相当于 QWidget *widget splitter-widget(index); QSizePolicy policy widget-sizePolicy(); policy.setHorizontalStretch(stretch); policy.setVerticalStretch(stretch); widget-setSizePolicy(policy); 10获取手柄 返回分离器的手柄手柄信息封装在QSplitterHandle中。 QSplitterHandle * handle(int index) const 6、信号 分离器手柄按下操作拉伸的时候触发。 void splitterMoved(int pos, int index) 三、QSplitterHandle类 QSplitter分离器创建之后会自带一个QSplitterHandle手柄功能QSplitterHandle继承于QWidget所以可以使用重写paintEvent来自定义它的样式。 手柄提供了opaqueResize()和setOrientation()方法用来读取和设置是否分离器滑动的时候动态调整部件大小还有orientation()和setOrientation()方法读取和设置分离器布局方向。 1、自定义分离器 自定义mySplitter和mySplitterHandle类mySplitter重新实现createrHandlemySplitterHandle重新实现paintEvent。 源码 //创建自定义QSplitter MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);QTextEdit *pLeftEdit new QTextEdit(left,this);QTextEdit *pTopEdit new QTextEdit(top,this);QTextEdit *pBottomEdit new QTextEdit(bottom,this);mySplitter *mainSpliter new mySplitter(Qt::Horizontal,this);mySplitter *rightSpliter new mySplitter(Qt::Vertical,this);mainSpliter-setHandleWidth(20);rightSpliter-setHandleWidth(20);rightSpliter-addWidget(pTopEdit);rightSpliter-addWidget(pBottomEdit);mainSpliter-addWidget(pLeftEdit);mainSpliter-addWidget(rightSpliter);mainSpliter-setFixedSize(QSize(500,400));mainSpliter-move(100,100);mainSpliter-setStretchFactor(0,1);mainSpliter-setStretchFactor(1,3); }//重新实现QSplitter QSplitterHandle *mySplitter::createHandle() {return new mySplitterHandle(orientation(),this); } //重新实现QSplitterHandle void mySplitterHandle::paintEvent(QPaintEvent *event) {QPainter painter(this);QLinearGradient gradient;if (orientation() Qt::Horizontal) {gradient.setColorAt(0, Qt::red);gradient.setColorAt(1, Qt::white);gradient.setStart(rect().left(), rect().height()/2);gradient.setFinalStop(rect().right(), rect().height()/2);} else {gradient.setColorAt(0, Qt::green);gradient.setColorAt(1, Qt::white);gradient.setStart(rect().width()/2, rect().top());gradient.setFinalStop(rect().width()/2, rect().bottom());}painter.fillRect(event-rect(), QBrush(gradient)); }
http://www.hkea.cn/news/14386441/

相关文章:

  • asp三层架构做网站网络广告管理办法
  • 手机网站前端用什么做冷链物流
  • 腾讯云服务器怎么做网站软文推广怎么写
  • 东营seo网站建设费用论坛网站怎么做
  • 付公司制作网站费怎么做凭证用老域名重新做个网站
  • 沈阳网站建设包括急招工地土建施工员
  • 自己做的网站源码如何安装白杨seo课程
  • 网站分享链接怎么做的重庆网站模板制作
  • 做网站推广书范法吗关键字优化策略
  • 怎样制作网站教程中国联通与腾讯设立混改合营企业
  • 网站配置服务Wordpress开不锈钢公司怎么做网站
  • 我先做个网站怎么做网站建设要注意哪些
  • 房产网站定制网页制作网站设计稿
  • 查看网站域名平坝网站建设
  • 如何做网站框架wordpress 修改字体
  • 求一个做健身餐的网站数字化营销怎么做
  • 企业网站建设应遵守的原则哈尔滨城乡建设网站
  • 网站建设的基本规范有什么网页制作基础教程指知识点
  • 免费网站建设联系电话注册公司域名后如何做网站
  • 深圳网站优化排名入门编程软件
  • 泊头市建设局官方网站厦门 网站建设公司
  • 泰安如何选择网站建设在合肥做网站多少钱
  • 外贸网站建设公司平台岳阳招聘网最新招聘
  • 专业制作网站价格广告策划书前言怎么写
  • 做网站第一次见客户图片编辑工具免费版
  • 成都企业网站制作手机wap版网站制作
  • 网站开发一般要多少钱网站模版idc
  • 单县网站建设滨州做网站的公司
  • 赣州专业网站推广哪家好郑州做网站哪家公司好
  • 诸暨网站制作上海平台有限公司