QWidget a dimensione fissa
Abituato a Swing ci sono rimasto un pò male nel vedere che QWidget a dimensione fissa non ha una funzione per impostare che la finestra non sia ridimensionabile.
Ovviamente con un piccolo sotterfugio si può ovviare al problema.
Basta impostare la dimensione, la minimumSize e la maximumSize alla stessa dimensione.
Quindi se si usa l'editor grafico possiamo modificare le relative proprietà, o modificare il file .ui in formato XML:
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>703</width>
<height>700</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>703</width>
<height>700</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>703</width>
<height>700</height>
</size>
</property>
.....
Se invece vogliamo fare tutto da codice possiamo fare una cosa del genere:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "scan.h"
#include <QMessageBox>
#include <QString>
#include "aboutwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
this->size(QSize);
this->minimumSize(QSize);
this->maximumSize(QSize);
}
MainWindow::~MainWindow()
{
delete ui;
}
Abbiamo le funzioni size(), minimumSize() e maximumSize() alle quali dobbiamo passare un valore QSize.
In questo modoo la nostra finestra non sarà ridimensionabile dall'utente.
qt c++ c++ qwidget qsize
Commentami!