0
我知道有答案,但它們不能滿足我的問題。這不適合我。位置在運行時在QWidget上彈出窗口
我有一個簡單的自定義小部件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);
}
如何使它與按鈕的位置變化一起移動?
...這並不一定要在按鈕上的位置。 你對「這位父母」是什麼意思?這是原來的問題。如何獲得按鈕的位置並將其始終放在同一個地方,而不是簡單的QCursor :: pos()。x()...和y() – darkgaze 2013-02-27 09:00:05