- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想创建一条消息,当用户按下退出按钮时,该消息会出现在新窗口中。为此,我创建了一个 QCloseEvent,但 MainWindow 实际上根本没有关闭。我究竟做错了什么?
主窗口.h
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
//Constructor
explicit MainWindow(QWidget *parent = 0);
//Destructor
~MainWindow();
public slots:
void closeMainWindow();
private:
QCloseEvent *event;
主窗口.cpp
void MainWindow::closeMainWindow(){
event = new QCloseEvent();
QMessageBox::StandardButton answer = QMessageBox::question(
this,
tr("Close the Window"),
tr("Do you want to close the window?"),
QMessageBox::Yes | QMessageBox::No);
if(answer == QMessageBox::Yes){
event->accept();
}
else
event->ignore();
}
最佳答案
您必须实现 closeEvent主窗口的功能!
例如
void MyMainWindow::closeEvent(QCloseEvent *event)
{
QMessageBox::StandardButton answer = QMessageBox::question(
this,
tr("Close the Window"),
tr("Do you want to close the window?"),
QMessageBox::Yes | QMessageBox::No);
if(answer == QMessageBox::Yes){
event->accept();
}
else
event->ignore();
}
关于C++ Qt QCloseEvent 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45933864/
我的 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
我是一名优秀的程序员,十分优秀!