关于Qt窗口部件自适应大小设计(随窗户大小改变)
2017-04-18 11:46
337 查看
首先得创建一个QWidget部件,并且定义两个全局变量用来保存长和宽mWidth和mHeight,这两个数值就是随窗口改变而改变的数值
接着别忘记在构建函数内使用setCentralWidget,当然如果不设置也可以实现只需要将下面resizeEvent中的
然后重写resizeEvent事件,并在其中写上想随窗口变化部件的设置代码。
例如,下列代码中的mainToolBar部件就可实时改变(如有不妥之处,敬请留言或者邮件1258137325@qq.com)
接着别忘记在构建函数内使用setCentralWidget,当然如果不设置也可以实现只需要将下面resizeEvent中的
mHeight = sceneWidget.height(); mWidth = sceneWidget.width();改为如下:
mWidth = ui->centralWidget->width(), mHeight = ui->centralWidget->height();也可实现获取
然后重写resizeEvent事件,并在其中写上想随窗口变化部件的设置代码。
例如,下列代码中的mainToolBar部件就可实时改变(如有不妥之处,敬请留言或者邮件1258137325@qq.com)
=====xxx.h=====
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
void resizeEvent(QResizeEvent *event);
private:
Ui::MainWindow *ui;
QWidget sceneWidget;
int mWidth;
int mHeight;
=====xxx.cpp======
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
setCentralWidget(&sceneWidget);...
...
}
void MainWindow::resizeEvent(QResizeEvent *event){
QMainWindow::resizeEvent(event);
mHeight = sceneWidget.height();
mWidth = sceneWidget.width();
ui->mainToolBar->setGeometry(0,0,mHeight/10,mWidth/10);
}
相关文章推荐
- 关于MFC禁止窗口最大化按钮和禁止改变窗口大小
- Qt设计dialog窗口的最大化和控件随窗体的改变
- QT中如何使控件随窗口改变大小?
- 完整版ajax+百度echarts实现统计图表demo并随着窗口大小改变而自适应
- Qt中窗体控件按照比例缩放,自适应窗口大小进行布局
- 关于MFC禁止窗口最大化按钮和禁止改变窗口大小
- Qt图片自适应窗口控件大小
- Qt中如何让控件自适应窗口大小
- Qt图片自适应窗口控件大小
- 【Qt学习笔记】禁止改变窗口大小
- Qt基础——自适应窗口大小
- Qt基础 设计自动适应窗口大小
- QT中如何使ui中的控件随窗口改变大小?
- QT QSplitter随窗口自适应大小(Autosize)
- QT中如何使控件随窗口改变大小?
- Qt图片自适应窗口控件大小
- Qt窗口拖动及改变大小
- QT中控件如何随着窗口大小的改变而使它充满整个窗口空间
- C#关于控件随窗体的改变而自动调整大小并且能重新定位的一些简单介绍和控件随窗体改变自适应类
- Qt中将Layout设为centralWidget的方法(让窗口里面的部件随窗口大小变化而变化的方法)