2017-07-15 14 views
-1

メインウィンドウの右下にポップアップウィンドウを配置しようとしています。メインウィンドウがサイズ変更/展開されていてもそこに表示されるはずです。
Qt 5.9(C++版)ではどうしたらいいですか?Qtのメインウィンドウの右下にポップアップウィンドウを配置

+0

あなたが実行しようとしているコードの例を提供することができますか? – Fabien

+0

だから、質問の著者は彼が彼の問題を解決しようとしていることを示すことが非常に重要です。あなたが試したことを私に見せることができます。 – eyllanesc

+0

メインウィンドウのサイズを変更するときは、ポップアップのサイズを手動で変更する必要があります。['resizeEvent'](http://doc.qt.io/qt-5/qwidget.html#resizeEvent) – m7913d

答えて

0

QMainWindowをサイズ変更または移動するときにポップアップを移動することが重要です。このためにはresizeEventmoveEventメソッドをオーバーライドする必要があります。次のコードは、それを行う方法を示しています。

void MainWindow::movePopUp() 
{ 
    QPoint p = mapToGlobal(QPoint(size().width(), size().height())) - 
      QPoint(popup->size().width(), popup->size().height()); 
    popup->move(p); 
} 

void MainWindow::resizeEvent(QResizeEvent *event) 
{ 
    movePopUp(); 
    QMainWindow::resizeEvent(event); 
} 

void MainWindow::moveEvent(QMoveEvent *event) 
{ 
    movePopUp(); 
    QMainWindow::moveEvent(event); 
} 

出力:

enter image description here

は完全な例ではhere

+0

こんにちは、コードをありがとう。私はそれを試してうまくいきました。疑いがあります。ポップアップウィンドウがメインウィンドウの外に表示されました。メインウィンドウを置換またはサイズ変更しようとすると、その中にポップアップが表示されます。メインウィンドウの内側にポップアップウィンドウを表示する必要があります。もう1つ質問があり、ポップアップウィンドウのタイマーを設定できますか? – Vector

+0

あなたは私があなたが得るもののビデオを見せることができました、私はあなたがポップアップが出ていることを意味するときは分かりません。 – eyllanesc

+0

タイマーで何をしたいですか? – eyllanesc

関連する問題