【问题标题】:Qt close a running window through codeQt通过代码关闭一个正在运行的窗口
【发布时间】:2012-07-29 18:14:04
【问题描述】:

我有一个程序可以打开另一个窗口,我希望关闭旧窗口。是否有一些功能或东西可以通过代码关闭窗口但保持另一个窗口运行?

【问题讨论】:

  • 你能不能只是hide(QWidget函数)呢?或者您所说的“关闭”是指别的什么意思?
  • 不,我想让窗口消失而不是里面的小部件。
  • 您仍然可以在窗口上使用隐藏。只要有一个可见窗口,应用程序就会运行。
  • Windows 是小部件,这意味着您可以隐藏整个内容 - 而不仅仅是内容。
  • @tyty5949 试试this->hide() 或只是hide()。

标签: c++ qt window


【解决方案1】:
void Dialog::on_Close_clicked()  // Condition for Main thread program stopping

Running Thread->closethread = true;
    this->close();

void Dialog::on_Stop_clicked()  // Condition For Stop Button for your particular task
{
    this->close();
}

【讨论】:

  • 请添加此代码块正在做什么的描述。否则就很难理解解决方案。
【解决方案2】:
this->close();

或

close();

参考:http://doc.qt.digia.com/4.7/qwidget.html#close

【讨论】:

    【解决方案3】:
    MyWidget *newform = new MyWidget;
    newform->show();
    this->hide();
    

    【讨论】:

      【解决方案4】:

      使用信号和槽机制。

      每当您想要关闭该窗口或屏幕时,都会发出一个信号并将该信号连接到该窗口的关闭槽。这应该可以正常工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-04-04
        • 1970-01-01
        • 2022-01-07
        • 2021-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-12
        相关资源
        最近更新 更多