代码之家  ›  专栏  ›  技术社区  ›  underdark

如何检查QWidget是否已经显示?

  •  1
  • underdark  · 技术社区  · 14 年前

    我正在使用PyQt4为现有应用程序开发一个插件UI。窗口是使用uic.loadUi文件()按主窗口中的按钮。问题是,如果我再次按下按钮(当窗口显示时),窗口将被重新创建,未保存的更改将丢失。我不想把窗户弄坏。我有什么办法来解决这个问题?我想这与检查QWidget是否已经显示有关。

    2 回复  |  直到 14 年前
        1
  •  2
  •   sje397    14 年前

    应该将指向QWidget(成员变量)的指针初始化为0。

    当按下按钮时,检查指针是否为0-如果是,则加载并显示小部件,并将指针变量指定给新的小部件。如果按下按钮时指针不为空,则调用 widget->raise() widget->activateWindow() .

        2
  •  0
  •   Troubadour    14 年前

    我本以为这将更多地由您的应用程序逻辑来处理,而不是其他任何事情。单击按钮后,主窗口应禁用该按钮,然后在关闭窗口时再次启用该按钮。将副窗上的关闭信号连接到主窗上的插槽,以便在副窗关闭时通知主窗。