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

遵义县公司网站建设常用的五种网络营销工具

遵义县公司网站建设,常用的五种网络营销工具,地图 添加到网站,福建石狮有做网站的没默认尺寸 对于一个Qt的窗口(继承于QWidget),获取其窗体尺寸的方法size(); 以一个Qt创建Qt Widgets Application项目的默认生成代码为基础,做如下测试 MainWindow::MainWindow(QWidget *parent): QMainWindow(parent…
默认尺寸

对于一个Qt的窗口(继承于QWidget),获取其窗体尺寸的方法size();

以一个Qt创建Qt Widgets Application项目的默认生成代码为基础,做如下测试

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{qDebug()<<"MainWindow::MainWindow:"<<this->size();this->resize(1200,800);qDebug()<<"MainWindow::MainWindow:"<<this->size();
}

第一个this->size()输出QSize(640, 480),即MainWindow具有默认的尺寸640*480

第二个this->size()输出QSize(1200, 800)

实际上,继承于QWidget的控件,例如QPushButton,QLineEdit等也会获得默认的尺寸640*480

    QWidget* page=new QWidget;qDebug()<<".."<<page->size();QPushButton* btn=new QPushButton;qDebug()<<".."<<btn->size();QLineEdit* edt=new QLineEdit;qDebug()<<".."<<edt->size();

以上输出都是QSize(640, 480)

布局之后的尺寸
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{qDebug()<<"MainWindow::MainWindow:"<<this->size();this->resize(1200,800);QWidget* page=new QWidget;qDebug()<<".."<<page->size();QVBoxLayout* layout=new QVBoxLayout(page);QPushButton* btn=new QPushButton;qDebug()<<".."<<btn->size();QLineEdit* edt=new QLineEdit;qDebug()<<".."<<edt->size();layout->addWidget(btn);layout->addWidget(edt);this->setCentralWidget(page);qDebug()<<".."<<page->size();qDebug()<<".."<<btn->size();qDebug()<<".."<<edt->size();qDebug()<<"MainWindow::MainWindow:"<<this->size();//当界面显示出来之后,点击按钮查看控件尺寸connect(btn,&QPushButton::clicked,[=]{qDebug()<<".."<<page->size();qDebug()<<".."<<btn->size();qDebug()<<".."<<edt->size();});
}

以上代码this->setCentralWidget(page);之后的三个打印对应的尺寸应该是多少?

依然还是 QSize(640, 480)

而connect()方法中的三个打印对应的值则分别为

.. QSize(1200, 800)
.. QSize(1178, 28)
.. QSize(1178, 24)

以上代码说明两个问题:

(1)将控件加入到布局,然后放入了父窗体中,则控件的尺寸会根据父窗体的布局重新设置

(2)控件尺寸的重新设置发生在窗体显示出来后(绘制时)

 固定尺寸

 以下代码实现在主窗体上布局多个按钮和子窗体,实现点击按钮切换每个子窗体的隐藏和可见。

但是存在问题:

(1)4个子窗体平分了主窗体的尺寸;

(2)隐藏一个子窗体后,其他的子窗体尺寸被更改(窗体重绘时会重新设置尺寸)

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{qDebug()<<"MainWindow::MainWindow:"<<this->size();this->resize(1200,800);QWidget* page=new QWidget;QVBoxLayout* layout=new QVBoxLayout(page);QScrollArea* contentArea=new QScrollArea;contentArea->setWidgetResizable(true);contentArea->setWidget(page);for(int i=0;i<4;i++){QWidget* p=new QWidget;//设置窗体背景色,使得区分背景,可见p->setStyleSheet("background-color:green");QPushButton* b=new QPushButton;layout->addWidget(b);layout->addWidget(p);connect(b,&QPushButton::clicked,[p]{//点击按钮后窗体切换显示和隐藏效果p->setVisible(!p->isVisible());});}this->setCentralWidget(contentArea);
}

如果需要设置子窗体在重绘时不改变尺寸,那么需要设置其尺寸

例如在QWidget* p=new QWidget;下方增加 p->setFixedHeight(300);

这样隐藏和显示一个子窗体不会对任意其他的子窗体的尺寸造成影响。

更改后会发现,当隐藏完所有的子窗体后,所有的按钮被均匀布局在了主窗体,如果想要的效果是按钮从主窗体从上往下紧密排列,可以在layout添加完所有的控件和窗口后,添加一个stretch,即在this->setCentralWidget(contentArea);上一行添加layout->addStretch();

http://www.mmbaike.com/news/98863.html

相关文章:

  • 营销技巧第三季在线观看沧州网站seo公司
  • 导购类网站如何做会员互动百度搜索广告投放
  • jquery 的网站模板下载地址网站权重优化
  • 做公司网站有什么亮点stp营销战略
  • 网站微信公众号链接怎么做鞍山seo外包
  • 番禺做网站技术seo优化搜索结果
  • eclipse可以做网站嘛淘宝seo
  • 一个ip做网站网页关键词优化软件
  • 响应式网页设计毕业论文摘要谷歌seo排名优化
  • 微信可以做网站吗网页制作步骤
  • 天津网站制作套餐外贸网站制作公司哪家好
  • 做网站赚钱还是企业宣传片站长工具无忧
  • 中山医疗网站建设免费seo优化工具
  • 如何建设自己的网站来获取流量百度推广介绍
  • 网站制作都有哪些宁波网站推广公司价格
  • win8式网站后台模板太原百度关键词排名
  • 杭州网站开发制作公司排名广州市疫情最新
  • wp网站打开太慢怎么做优化腾讯搜索引擎入口
  • 网站专业制作seo优化服务价格
  • 网站整体策划与设计天津seo数据监控
  • 个人网站设计策划百度推广计划
  • 网站去除前台验证码seo com
  • 免费自建网站b2b网站免费推广平台
  • 盐城建站历史权重查询
  • 后台网站更新 网站没显示网络推广赚钱
  • 软件开发过程的五个阶段seo三人行论坛
  • 做外链的博客网站做网络优化的公司排名
  • 中国建设银行甘肃省分行官网站网站建设方案设计书
  • 河南新乡做网站公司免费自助建站网站
  • wordpress游戏支付宝百度seo公司