QMainWindowでサイズ変更イベントのチュートリアルのようなスキームを見つけることも、Qtデザインウィンドウのドロップダウンメニューにサイズ変更イベントを追加するオプションも表示されませんでした。
Qtは初めてです。 QMainWindowのサイズ変更イベントのスロット関数を書きたいのですが。そのようなイベントはありますか?これどうやってするの?
サイズ変更イベント があります。イベントのカスタム処理を実行するには、独自のサイズ変更イベントハンドラーを作成する必要があります。あなたの場合、QMainWindow
から派生するクラスを作成し、 resizeEvent
関数を再実装する必要があります。コードは次のようになります。
void MyMainWindow::resizeEvent(QResizeEvent* event)
{
QMainWindow::resizeEvent(event);
// Your code here.
}
Qt Scribbleの例 には、サイズ変更イベントをオーバーライドする例もあります(メインウィンドウにはありません)。
これは私と一緒にQt5で動作します。 QTableWidgetのアイコンのサイズを変更するには:
mainWindow.h
...
private slots:
void resizeEvent(QResizeEvent*);
...
mainWindow.cpp
...
void mainWindow::resizeEvent(QResizeEvent*)
{
tableWidget->setIconSize(QSize(tableWidget->size()/7)); //7 or whatever number you need it to get the full icon size
}