在UI最大化过程中,为保持界面美观,需控件根据输出大小自动调整。
可以通过读取输出尺寸进行计算,也可通过 QT Create 自带的布局策略。
(1)计算方式
整体布局如下图所示
代码如下:
//全屏参数
QDesktopWidget *deskWgt = QApplication::desktop();
screen_width = deskWgt->width();
screen_height = deskWgt->height();
//调整位置
ui->listWidget_channel->move(10, 0);
ui->listWidget_channel->resize(screen_width/10-10, screen_height/2 - 10);
ui->listWidget_alarm->move(10, screen_height/2+10);
ui->listWidget_alarm->resize(screen_width/10-10,screen_height/2 - 10);
ui->listWidget_model->move(screen_width/10+10, 0);
ui->listWidget_model->resize(screen_width/10-10, screen_height);
ui->listWidget_normal->move(screen_width/5+10, screen_height/20);
ui->listWidget_normal->resize(screen_width/10*8-10, screen_height/20*18);
先取得输出尺寸,然后根据各控件的面积比例进行 resize 和 move
全屏显示:
Dialog m_dialog;
m_dialog.resize(QSize(screen_width, screen_height));
m_dialog.show();
直接对主对话框进行缩放至全屏。
(2)布局策略
整体布局如下图所示
先 CTRL 选中左侧两个 TableWidget,右键布局方式选择 垂直布局
之后设置 LayoutStretch 比例为1,1,表示不管如何缩放,这两个控件垂直比例为1:1
之后 CTRL 选择该布局及中侧 TableWidget 及右侧 Label
右键布局方式选择 水平布局
比例设置成1,1,8,即设定了缩放时横向比例
最后一步,右键空白处选择在窗体布局中布局,或者栅格布局即可。
效果如下图