【问题标题】:Qt implementation of MessageBoxMessageBox的Qt实现
【发布时间】:2012-10-06 00:39:02
【问题描述】:

参考之前的问题:GTK implementation of MessageBox

我有一个非常相似的问题,除了用 Qt 代替 GTK。

在那个问题中,我至少需要做什么才能使用 Qt 从还不是 Qt 应用程序的应用程序中显示消息对话框?

我认为需要发生以下情况:

  • 初始化 Qt 及其事件循环
  • 安装空闲回调以调用对话框
  • 退出事件循环并在关闭对话框时完成 Qt。

【问题讨论】:

    标签: c++ linux qt


    【解决方案1】:

    您想从控制台应用程序中显示一个消息框吗?

    如果这是正确的,你需要在你的 pro 文件中添加这一行:

    QT += gui

    在你的 main.cpp 文件中写下这样的内容。 Qt 为你创建了一个事件循环

    #include <QtCore/QCoreApplication>
    #include <QTextStream>
    #include <QMessageBox>
    #include <QApplication>
    
    
    
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
    
        QMessageBox::information(NULL,"Hello","Salut","Ok");
    
        return a.exec();
    }
    

    【讨论】:

    • “来自还不是 Qt 应用程序的应用程序”,但您假设 QMake .pro 文件已经存在。
    • 是的,我不会使用 QMake。构建配置对我来说不是问题。我在这里看不到任何可以告诉主事件循环终止的东西。消息框是否成为“主窗口”,从而导致事件循环在关闭时终止?
    猜你喜欢
    • 2010-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-30
    • 2021-01-29
    • 2012-07-21
    相关资源
    最近更新 更多