Stronę tą wyświetlono już: 2976 razy
Każda kontrolka, czy okno programu dysponują zestawem metod, które są wywoływane gdy tylko zajdzie określone zdarzenie. Często też zdarza się konieczność nadpisania takiej metody w celu jej obsłużenia na własny sposób. W tym przypadku nawiązując do projektu rozpoczętego na stronie , gdzie obiekt edit klasy QTextEdit wymaga dostosowania rozmiaru za każdym razem, gdy rozmiar okna głównego programu zostanie zmieniony. W tym celu w klasie MainWindow należy zamieścić nagłówek metody wywoływanej przy zmianie okna głównego:
void resizeEvent(QResizeEvent *event) override;
W pliku mainwindow.cpp natomiast powinna znaleźć się ta metoda wraz z jej ciałem:
void MainWindow::resizeEvent(QResizeEvent *event){
QMainWindow::resizeEvent(event); // wywołanie bazowej klasy metody resizeEvent
QRect rect = ui->centralWidget->geometry(); // kontrolka edit jest kontrolką potomną kontrolki centralWidget więc pobieram rozmiar tej kontrolki
ui->edit->setGeometry(0, 0, rect.width(), rect.height()); // i ustawiam rozmiar edit-a
}
Po takim zabiegu przy zmianie rozmiaru okna kontrolka QTextEdit dostosuje swój rozmiar do okna programu.