答えがあることは知っていますが、私の質問を満足させるものではありません。それは私のために働いていません。
PopUpというシンプルなカスタムウィジェットがあります。これは、スタイル付きパネルであり、以下を含むSmartPanelを継承します。
setWindowFlags( Qt::Window | Qt::FramelessWindowHint );
setAttribute(Qt::WA_QuitOnClose, true);
setAttribute( Qt::WA_TranslucentBackground );
押したボタンの上に表示され、ポップアップまたは閉じるウィンドウが表示されます。出入りすると自然に閉まります。
私は試した:
A)ボタンの子にするので、ボタンが移動する場所で移動します。明らかに動作するはずです。上手。まったく機能しません...ウィンドウの左上隅の0,0に常に留まります。私もウィンドウを動かし、ボタンを動かし、ポップアップは同じままです...それが子供であっても!。
SmartPopUp::SmartPopUp( QWidget *parent): SmartPanel(parent)
{
setContentsMargins(30,10,20,20);
hide();
QVBoxLayout* lyt = new QVBoxLayout();
setLayout(lyt);
}
B)関連へのリンク内に保存します。ウィジェット、その位置を取得します。ウィジェットの位置の取得が正しく機能しません。理由がわからない...
SmartPopUp::SmartPopUp( QWidget* associatedWidget, QWidget *parent): SmartPanel(parent)
{
associatedWidget_ = associatedWidget;
setContentsMargins(30,10,20,20);
hide();
QVBoxLayout* lyt = new QVBoxLayout();
setLayout(lyt);
}
ボタンの位置の変化に合わせて動かすには?