Qt中怎么控制主窗口在屏幕上的显示位置

Qt中怎么控制主窗口在屏幕上的显示位置,第1张

void MainWindow::onBtnMenuMaxClicked(bool)

{

QRect deskTopRect = qApp->desktop()->availableGeometry()

if (max==true) {

int allw = deskTopRect.width()

int allh = deskTopRect.height()

int unitw=allw/4

int unith=allh/4

this->resize(unitw*2,unith*2)

this->move(unitw,unith)

ui->pushButton_max->setToolTip(tr("最大化"))

}

if (max==false)

{

qDebug()<<"dataRecvSend rectApp= "<<deskTopRect

this->setGeometry(deskTopRect)

ui->pushButton_max->setToolTip(tr("还原"))

}

max = !max

}

首先我们在界面中添加一个QLabel控件

QT界面怎么使控件随窗口大小变化一直居中显示

在控件上边下边分别添加一个竖直的d簧,选中这三个控件,然后点击竖直布局,如下图所示。布局结果如右图。

QT界面怎么使控件随窗口大小变化一直居中显示

QT界面怎么使控件随窗口大小变化一直居中显示

3

然后在上次布局的两侧添加水平的d簧,选中两个d簧和上次的布局,点击水平布局。布局效果如图

QT界面怎么使控件随窗口大小变化一直居中显示

这里我们一般可以对窗口整体进行布局,我们要用到Layout布局部件。 Layout是一种各种UI都很长用的布局手段,Qt的就很不错,比如说GridLayout,你可以把整个窗体布局一个GridLayout, 然后再往GridLayout里面放控件或者其他布局,这种布局的手段可以随窗体变化而改变布局内的控件的大小,而相对的位置不变。 设置qtablewidget为主窗口的中心部件。 代码设置方式: setCentralWidget(qwidget的名字) 窗口变化时窗口内的部件依然按照原排列方式铺满窗口,则只需设置窗口如下: 直接为QMainWindow设置一个局部方式即可,水平或垂直布局都可以 使用布局时,在复杂的情况下,需要结合很多的手段才可以达到理想的效果,而且一般使用手写代码更为方便。有几个因素供参考: 1.大小提示(size hint)和最小大小提示(minimum size hint) 2.大小策略(size policy) 3.伸缩因子(stretch factor) 4.大小约束(size constraint) 5.空白(margin)和间距(spacing) 还有,对于布局而言,对于一个窗口,要达到你说的那个基本目标,首要的就是要设置顶级布局(Top Level Layout)。比 如用designer时要注意, 要点中外层的widget然后选layout, 而不是选中若干子控件再选layout, 因为后者的layout和外


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11241442.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存