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

官方网站搭建要多少钱最新首码项目网

官方网站搭建要多少钱,最新首码项目网,在线设计平台代理,浙江省杭州市软装设计公司一、前言 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/14366267/

相关文章:

  • 免费论坛建站个人域名备过案了做电影网站会查吗
  • dede被挂网站网站木马wordpress柚子皮 zip
  • wordpress全站背景字体模板素材免费下载网站
  • 建设网站一般多少钱哪家建网站
  • wordpress站群怎么优化网站建设人员分工
  • 营销型网站与展示型网站电商网站开发实训心得
  • 网页制作免费网站谷歌搜索引擎入口2023
  • 深圳免费模板建站邓卅做网站在什么地方
  • 合肥做网站做推广分享wordpress优秀主题
  • 网站站点地图深圳精品网站制作
  • 自己做网站建设wordpress 模块化主题
  • 怎么用自己的网站做邮箱建设网站的价格
  • 邢台企业网站建设公司广告位
  • 国内做外贸如何访问外国网站深圳网站设计十年乐云seo
  • 如何做自己的网站或者论坛做语文综合题的网站
  • 企业网站托管服务常用指南c 如何做网站
  • 微信公众号转入公司网站建设网站开发怎么自动获取位置
  • 娄底seo排名论坛与网站做优化哪个更好
  • 铜陵网站制作中学生制作的网站
  • 网站网站制作需要多少钱网站开发公司是外包公司吗
  • 外贸网站建设公司平台网站改版什么意思
  • 山东省建设部网站南通网站定制企业
  • 网站安全评估怎么做wordpress 4.4.1漏洞
  • 黄埔区建设局网站石家庄上门洗车
  • 外链数是网站反向链接码北京电子商务网站制作
  • 网站 宣传册wordpress主题背景图片
  • 提供企业网站建设seo职位描述
  • 网站做SEO优化多少钱网上买保险有哪些平台
  • 长沙做网站那家好个人公司网站怎么做
  • 怎样买网站建设企业做的网站推广费用如何记账