【问题标题】:How to make Qt QMainWindow to be in focus and overlay when clicked with the mouse when there is window overlay如何在有窗口覆盖时用鼠标单击时使Qt QMainWindow成为焦点并覆盖
【发布时间】:2012-02-04 13:36:54
【问题描述】:

我有一个用 show() 方法打开的 Qmainwindow 另一个 QMainWindow 问题是当第二个 QMainwindow 在第一个之上时,当我点击 第一个 QMainWindow 上的鼠标不会返回到第二个窗口的顶部。 它获得了焦点,但没有出现在顶部.. 所以它看起来很有趣,而不是自然的窗口行为。

更新..
我正在使用 2 QMainWindows 。我知道它不是标准的,但我需要工具栏+状态栏 通过 Designer 的窗口。
在 2 QMainWindows 中以任何方式我没有设置任何属性,我怀疑这就是解决方案。 主窗口中的代码很简单我有另一个 QMainWindow 的成员 在主窗口中我只是这样做:

....  
ListWindow* m_pListWindow; // the second qmainwindow
......
void MainWindow::actionViewlistHandler()
{

    m_pListWindow->show();

}

【问题讨论】:

  • 您是否有最少的代码示例来重现该问题?还有你使用的是什么版本的 Qt
  • 一个应用有两个 QMainWindows 也有点奇怪
  • @Mat 为什么会这样?如果你想拥有两个带有状态栏和菜单栏的独立窗口,这是一个很好的快捷方式。
  • 答案是让另一个窗口没有父窗口

标签: c++ windows qt


【解决方案1】:

当您将第一个主窗口作为其父窗口时,会发生这种情况

//This will cause the problem
MainWindow2 *m2 = new MainWindow2(this);
m2->show();

//This will solve your problem
MainWindow2 *m2 = new MainWindow2();
m2->show();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-31
    • 2014-02-02
    • 2013-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多