QT防止了QDialog /窗口从主窗口移动
问题描述:
- OS X 10.6.8 ......后来,Windows XP中......及更高版本。
- 的Qt 4.7(已经是,历史遗留问题,OS X 10.6.8必须支持,QT5不会做)
问题
我已经开了第二个窗口我应用。它的行为与我想要的一样,,除了,如果应用程序中的MainWindow移动,此窗口也会移动。这种行为是不需要的(实际上更像“有毒和用户不友好”)。
Qt的文档说不要叫从内部moveEvent()移动(),反正moveEvent()只显示窗口已经停止移动后,甚至没有而移动,这,即使我没有使用它成功地导致第二个窗口移动并回弹,这将非常糟糕。我认为尝试覆盖移动(),而不是调用QDialog :: move(),但没有工作,似乎它不能被覆盖; rfview窗口仍然沿着主窗口。
也许我打开窗户错误:
void MainWindow::xrfview()
{
ttrfview = new rfview(this);
uiframePlot = ttrfview->ui->framePlot;
ttrfview->show();
ttrfview->raise();
}
也许我已经定义的窗口错误:
class rfview: public QDialog
{
Q_OBJECT
public:
explicit rfview(QWidget *parent = 0);
~rfview();
}
或者两者都是?
基本上,如果用户拖动/重新定位MainWindow,我做而不是想要跟着rfview
窗口。
答
变化ttrfview = new rfview(this)
到ttrfview = new rfview()
TRT用:ttrfview =新rfview(); – eyllanesc
@eyllanesc是的,这是在OS X,我的开发环境下工作的。请让它成为答案,我会给出'ol复选标记。感谢您提供非常快速的解决方案。 – fyngyrz