При изменении размеров родительского окна, меняется размер только у одного виджета. Необходимо, чтобы они изменялись одновременно.
Сейчас это работает примерно так:
Необходимо, чтобы это работало так:
main.cpp
#include <QApplication>
#include "MainWindow.h"
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
MainWindow window;
window.show();
return app.exec();
}
MainWindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include "CentralWidget.h"
class MainWindow : public QMainWindow
{
Q_OBJECT
private:
CentralWidget *m_centralWidget;
public:
explicit MainWindow(QMainWindow *parent=nullptr);
};
#endif
MainWindow.cpp
#include "MainWindow.h"
MainWindow::MainWindow(QMainWindow* parent ) : QMainWindow(parent)
{
m_centralWidget = new CentralWidget(this);
setCentralWidget(m_centralWidget);
}
CentralWidget.h
#ifndef CENTRALWIDGET_H
#define CENTRALWIDGET_H
#include <QWidget>
#include <QTableWidget>
#include <QResizeEvent>
#include "qcustomplot.h"
class CentralWidget : public QWidget
{
Q_OBJECT
private:
QCustomPlot *m_plotWidget;
QTableWidget *m_tableWidget;
virtual void resizeEvent(QResizeEvent *event);
public:
explicit CentralWidget(QWidget *parent=nullptr);
};
#endif
CentralWidget.cpp
#include <QHBoxLayout>
#include <QDebug>
#include "CentralWidget.h"
CentralWidget::CentralWidget(QWidget* parent) : QWidget(parent)
{
m_plotWidget = new QCustomPlot;
m_tableWidget = new QTableWidget;
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(m_plotWidget);
layout->addWidget(m_tableWidget);
setLayout(layout);
}
void CentralWidget::resizeEvent(QResizeEvent *event)
{
//Костыль
//m_plotWidget->setGeometry(15, 15, width() / 2 - 15, height() - 30);
//m_tableWidget->setGeometry(width() / 2 + 15, 15, width() / 2 - 30, height() - 30);
qDebug() << m_plotWidget->size();
qDebug() << m_tableWidget->size();
}
m_plotWidget->setSizePolicy (QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
Подробности по QSizePolicy смотри в документации.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Господа! Хочу обратить ваше внимание на следующюю проблемуЕсть небольшой код:
Если сумма 3 действительных чисел x,y,z <1, то наименьшее из этих чисел заменить полусуммой двух других, в противном случае заменить меньшее...
Java, когда мы наследуем один интерфейс от другого, и в дочернем хотим вызвать метод родительского, то мы должны писать не superметод (как в классах),...