的Env
问题
我在我的应用程序中打开了第二个窗口。它的行为与我想要的一样,除了,如果应用程序中的MainWindow移动,那么这个窗口也是如此。这种行为是不受欢迎的(实际上更像是"有毒和用户不友好")。
Qt文档说不要从moveEvent()中调用move(),并且无论如何moveEvent()只在窗口停止移动后显示,而移动时甚至不显示,即使我确实成功地使用它,导致第二个窗口移动并且弹回,这将非常糟糕。
我想过尝试重写move()而不是调用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 :(得分:1)
将ttrfview = new rfview(this)
更改为ttrfview = new rfview()