C'est l'arrangement que je veux:Comment organiser les éléments dans la disposition par défaut de QMainWindow?
------------ ------
| | | 2 |
| | | |
| 1 | ------
| | ------
| | | 3 |
------------ ------
Le problème est que la fonction addwidget
de la mise en page par défaut n'a pas les paramètres pour les lignes et colonnes. Je ne peux même pas ajouter QVBoxLayout
puisque le compilateur dit qu'une mise en page est déjà là, donc vous ne pouvez pas ajouter plus de mises en page.
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
m_QPushButton_calibration = new QPushButton("Calibrate", this);
connect(m_QPushButton_calibration, SIGNAL (released()),this, SLOT (handleButton()));
QList<QCameraInfo> l_QListQCameraInfo_available_cameras = QCameraInfo::availableCameras();
m_QCameraViewfinder_viewfinder = new QCameraViewfinder(this);
if (l_QListQCameraInfo_available_cameras.length() > 2)
{
m_QCamera_required_camera = new QCamera (l_QListQCameraInfo_available_cameras[1]);
m_QCamera_required_camera->setViewfinder(m_QCameraViewfinder_viewfinder);
m_QCamera_required_camera->start();
}
this->layout()->addWidget(m_QPushButton_calibration);
this->layout()->addWidget(m_QCameraViewfinder_viewfinder);
m_QCameraViewfinder_viewfinder->show();
}
Notez que vous ne devriez vraiment pas faire * n'importe quoi * avec la disposition d'un 'QMainWindow' directement. Au lieu de cela, vous devez créer la hiérarchie de widget dont vous avez besoin et la transmettre à ['QMainWindow :: setCentralWidget'] (http://doc.qt.io/qt-5/qmainwindow.html#setCentralWidget). –
@ G.M. S'il vous plaît envisager d'écrire un petit exemple comme une réponse. –
@ G.M. pourriez-vous donner une référence aux docs où il est dit que «vous ne devriez vraiment pas faire quelque chose avec la disposition d'un QMainWindow directement»? – SingerOfTheFall