0
点赞
收藏
分享

微信扫一扫

Qt:qt对象的线程相关性

萧让听雪 2024-03-11 阅读 19

布局

在这里插入图片描述

  1. 水平布局
  2. 垂直布局
  3. 网格布局

widget的应用

在这里插入图片描述

将对应的按钮,label放入到widget中

水平弹簧和垂直弹簧

在这里插入图片描述

使用弹簧来对他们布局

在这里插入图片描述

设置弹簧属性:

在这里插入图片描述

最后结果——页面中的内容和随页面的缩小和方法自适应。

在这里插入图片描述

水平布局和垂直布局只能针对一行一列

在这里插入图片描述

将用户密码放入到同一个widget。选中,点击网格布局。

在这里插入图片描述

一个窗口需要分成几部分

QSpacerltem(int w,int h,QSizePolicy:Policy hPolicy QSizePolicy:Minimum,QSizePolicy::Policy
VPolicy QSizePolicy:Minimum);
备注:常用于初始化构造弹簧时,设置固定或可变大小的区域。

void changeSize(int w,int h,QSizePolicy:Policy hPolicy QSizePolicy:Minimum,QSizePolicy:Policy
vPolicy QSizePolicy:Minimum);
备注:常用于动态改变弹簧的大小,设置大小变化及隐藏功能时使用。

/**************************隐藏 弹簧******************************/
ui->horizonSpacer->changeSize(0, 0); 
 
/**************显示并改变 horizon 类型的 弹簧*********************/
ui->horizonSpacer->changeSize(20, 20, QSizePolicy::Expanding); 
 
/**************显示并改变 vertical 类型的 弹簧********************/
ui->verticalSpacer->changeSize(20, 20, QSizePolicy::Preferred, QSizePolicy::Expanding);
void InitControls()
{
    m_pCustomLayout = new QHBoxLayout;  //创建水平布局
    m_pCustomLayout->setContentMargins(0,0,0,0);
    m_pCustomLayout->setSpacing(30);
    
    //为水平布局左侧,添加固定长度120大小的弹簧
    m_pLeftHorizonSpacer = new QSpacerItem(120,20,QSizePolicy::Fixed,QSizePolicy::Minimum);
    m_pCustomLayout->addItem(m_pLeftHorizonSpacer);
    m_pCustomLayout->addStretch(1);  //均分布局(使按钮居中)
 
    //btn_ok按钮
    btn_ok = new QPustButton(this);    
    m_pCustomLayout->addWidget(btn_ok);
 
    //btn_cancel按钮
    btn_cancel = new QPushButton(this); 
    m_pCustomLayout->addWidget(btn_cancel);
    m_pCustomLayout->addStretch(1); //均分布局(使按钮居中)
  
   //将layout布局加入到界面中
   setLayout(m_pCustomLayout);
}

void SetCenterButtonStyle()  
{
    m_pLeftHorizonSpacer->changeSize(0, 0);
    m_pCustomLayout->update();
}
举报

相关推荐

0 条评论