我是Qt的初学者,我还不了解centralWidget上的布局。
我有一个自定义的QWidget子类(带有.ui和cpp类),我想添加到中央Widget。
我想了解如何在每次添加内容时对QMainWindow子类进行调整以适应内容。
我在mainwindow和centralWidget对象上尝试使用adjustSize
方法,但没有任何改变。
无论如何,我正在以这种方式添加小部件:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
MyWidget *w = new Undistort();
w->setParent(this->centralWidget());
}
一些建议?
答案 0 :(得分:0)
举个例子,根据Pixmap的大小,QMainWindow会调整大小。一般情况下这不是理想的情况,因为用户MainWindow需要在桌面上显示,它不应该超过您的桌面屏幕尺寸。我不确定你是否真的在寻找这个。复制自SO Ans
#include "mainwindow.h"
#include <QLabel>
#include <QHBoxLayout>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindowClass)
{
ui->setupUi(this);
QPixmap pix;
pix.load("C:\\Users\\user\\Desktop\\Uninstallation failure2.png");
//Replace with ImageLabel2
QLabel* image = new QLabel(this);
image->setPixmap(pix);
QHBoxLayout* hbox = new QHBoxLayout(this);
hbox->addWidget(image);
QWidget* centreWidget = new QWidget();
//QMainwindow, having a feature called centreWidget, to set the layout.
centreWidget->setLayout( hbox );
setCentralWidget( centreWidget );
}