- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的主窗口中有 2 个触发器1.从完全关闭应用程序的菜单2. 从窗口 X 按钮忽略并隐藏窗口。我正在使用这个 SIGNAL/SLOTS我怎么知道它是从哪里触发的?
在closeEvent
中:
connect(ui->actionQuit, SIGNAL(triggered()),this, SLOT(CloseWin()));
void MainWindow::CloseWin()
{
close();
}
// triggered from the ui->actionQuit amd from the X button
void MainWindow::closeEvent(QCloseEvent *event)
{
// how can i know from where its bean triggered?
hide();
event->ignore();
}
最佳答案
您始终可以通过调用 QObject::sender() 知道是谁“触发”了事件 - http://developer.qt.nokia.com/doc/qt-4.8/qobject.html#sender .请注意,仅当在调用的 SLOT 上调用此方法时,有效的返回值才可用。
编辑:
如果你要将多个信号重新连接到一个插槽,你还应该考虑使用信号映射器,这个QQ中有解释: http://doc.qt.nokia.com/qq/qq10-signalmapper.html
关于c++ - Qt 如何找出 closeEvent(QCloseEvent *event) 触发的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8969396/
我的 MainWindow 创建了一个名为 wid 的 QWidget。如何创建一个在该小部件关闭时激活的插槽? 最佳答案 您可以继承 QWidget 并添加如下功能: class Closeable
我有一个用 C++ 和 Qt 编写的桌面 Windows 应用程序。该应用程序有几个顶级窗口,偶尔需要以编程方式关闭和重新创建。此外,当程序的用户单击关闭按钮(最小化和最大化按钮旁边的那个)时,整个程
我想创建一条消息,当用户按下退出按钮时,该消息会出现在新窗口中。为此,我创建了一个 QCloseEvent,但 MainWindow 实际上根本没有关闭。我究竟做错了什么? 主窗口.h class M
我已经覆盖了登录对话框的 .h 文件中的 closeEvent 函数,以便它在发出时退出程序: void closeEvent(QCloseEvent *event){exit(0)} 但是,
我正在尝试做一些非常简单的事情:添加一个带有 Exit 操作的菜单栏,该操作将在选择时关闭 QMainWindow 。但是,当我实际单击 Exit 时,它不会关闭应用程序。 SSCCE: from P
我目前正在尝试将我的 Qt 应用程序移植到 Mac OSX,但遇到了以下问题: 我的一个窗口类(派生自 QMainWindow)在按下关闭按钮时显示一个对话框,您可以在其中保存/放弃更改或中止。这是通
我的主窗口中有 2 个触发器1.从完全关闭应用程序的菜单2. 从窗口 X 按钮忽略并隐藏窗口。我正在使用这个 SIGNAL/SLOTS我怎么知道它是从哪里触发的? 在closeEvent中: conn
我是一名优秀的程序员,十分优秀!