当按下 Qt Window 应用程序右上角的“X”时,会发出哪个信号?
我在 Qt 应用程序中的 MainWindow 旁边有第二个 QDialog 小部件。我想在我的第二个QDialog中截取“X”上的按下,如何?
当按下 Qt Window 应用程序右上角的“X”时,会发出哪个信号?
我在 Qt 应用程序中的 MainWindow 旁边有第二个 QDialog 小部件。我想在我的第二个QDialog中截取“X”上的按下,如何?
没有信号,您需要重新实现QWidget::closeEvent()或为QCloseEvents安装事件过滤器过滤。
该类QCloseEvent
包含描述关闭事件的参数。关闭事件被发送到用户想要关闭的小部件,通常通过从窗口菜单中选择“关闭”,或者通过单击 X 标题栏按钮。QWidget::close()
当您调用以编程方式关闭小部件时,它们也会发送。
要忽略它,您可以调用ignore()
方法:
void YourDialog::closeEvent(QCloseEvent* iEvent)
{
// ignore close event
iEvent->ignore();
}