1

当按下 Qt Window 应用程序右上角的“X”时,会发出哪个信号?

我在 Qt 应用程序中的 MainWindow 旁边有第二个 QDialog 小部件。我想在我的第二个QDialog中截取“X”上的按下,如何?

4

2 回答 2

0

没有信号,您需要重新实现QWidget::closeEvent()或为QCloseEvents安装事件过滤器过滤。

于 2015-08-18T08:59:33.847 回答
0

该类QCloseEvent包含描述关闭事件的参数。关闭事件被发送到用户想要关闭的小部件,通常通过从窗口菜单中选择“关闭”,或者通过单击 X 标题栏按钮。QWidget::close()当您调用以编程方式关闭小部件时,它们也会发送。

要忽略它,您可以调用ignore()方法:

void YourDialog::closeEvent(QCloseEvent* iEvent)
{
  // ignore close event
  iEvent->ignore();
}
于 2015-08-18T08:57:32.650 回答