2016-12-24 146 views
1

信封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窗口。

+0

TRT用:ttrfview =新rfview(); – eyllanesc

+0

@eyllanesc是的,这是在OS X,我的开发环境下工作的。请让它成为答案,我会给出'ol复选标记。感谢您提供非常快速的解决方案。 – fyngyrz

回答

1

变化ttrfview = new rfview(this)ttrfview = new rfview()