标签: qapplication

带有可选gui的Qt应用程序

我将使用Qt编写程序进行一些图像处理,我希望它能够以非gui模式运行(守护进程模式?).我受到了VLC播放器的启发,这是一个"典型"的GUI程序,您可以使用GUI对其进行配置,但是non-gui当它在没有GUI的情况下运行时,您也可以在选项中运行它.然后它使用在GUI模式下创建的一些配置文件.

问题是这样的程序设计应该怎样?应该是一些程序核心,它是独立于GUI的,并且取决于它与GUI接口连接的选项?

c++ qt qtgui qtcore qapplication

6
推荐指数
1
解决办法
4917
查看次数

QT:获取当前的应用程序面板

我有一个组成调色板的类,并使用将其分配给应用程序QApplication::instance()->setPalette(QPalette palette)

而且有效。

但是后来我尝试QPalette QApplication::instance()->palette()用来提取一些颜色。

但是这里不起作用,它只返回默认调色板,而不是当前调色板。

当我发现它按文档中的预期和描述工作时。

现在我只有两个问题:

  1. 为什么它以这种奇怪,无用和违反直觉的方式工作?
  2. 如何检索使用设置的调色板 QApplication::instance()->setPalette(QPalette palette)

PS:不,我不能将调色板保留在其他地方。

c++ qt qt5 qapplication

6
推荐指数
1
解决办法
639
查看次数

如何获取当前的QApplication?

我正在尝试使用 pyQt5 获取对当前 QApplication 对象的引用,但找不到该函数。我对“pyQt get current QApplication”的搜索显示了有关如何创建 QApplication 的结果。所以我的问题是:

是否有全局 QApplication 对象,如果有,如何获得对现有(当前)应用程序的引用。

我问的原因是我想测试调试代码是否在 Qt GUI 应用程序中运行。然后,QMessagebox如果在 Qt 应用程序中使用该函数,我想调出一个来显示错误消息;或以其他方式向标准输出打印一条消息。

python pyqt pyqt5 qapplication

6
推荐指数
1
解决办法
5080
查看次数

Qt 如何选择默认样式?

在 Qt GUI 应用程序中,QApplication::style()->objectName()将返回当前样式,例如“windowsvista”。

它如何/在哪里选择此默认样式,以及它使用哪些信息来决定?

c++ qt qstyle qapplication

5
推荐指数
1
解决办法
5902
查看次数

如何在Qt中设置应用程序图标

尝试为我的QT应用程序设置图标时遇到一些麻烦。

该图标名为“ room.ico”,与源文件位于同一目录中。

这是代码:

#include <QApplication>
#include <QWidget>

int main( int argc, char *argv[ ] )
{
   QApplication app( argc, argv) ;
   QWidget fenetre;
   fenetre.setWindowIcon(QIcon("room.ico")); // Nothing happens
   fenetre.setWindowTitle("Heloo");    
   fenetre.show();
   return app.exec() ;
}
Run Code Online (Sandbox Code Playgroud)

我尝试添加win32:RC_ICONS += room.ico.pro file但是没有用。我也尝试过,"./room.ico"但仍然没有图标。

我试图用这个:

QPixmap pixmap = QPixmap ("room.ico");
fenetre.setWindowIcon(QIcon(pixmap));
Run Code Online (Sandbox Code Playgroud)

你猜怎么着 !!!它没有用...我只是QT的新手:p

任何建议将不胜感激,谢谢

c++ qt qpixmap qicon qapplication

4
推荐指数
1
解决办法
7319
查看次数

QApplication没有显示

我使用Qt3.3,我正在尝试创建一个没有显示的QApplication.我需要检查来自QSocket对象的信号,这就是我需要QApplication的原因.

我正在尝试做QApplication(0,0),但我得到"QApplication:invalid Display*argument.".

如何正确地做到这一点?

c++ qt qapplication

3
推荐指数
1
解决办法
2649
查看次数

How to listen to QGuiApplication::applicationStateChanged signals directly in a QML file

我在AndroidiOS上的Qt 5.9.3上运行我的 Qt 应用程序。我想直接在 QML 文件上收听QGuiApplication::applicationStateChanged

如何使用连接侦听 QML 上的应用程序状态更改,而无需编写任何代码来从我的 C++ 类发出信号。

我想使用连接收听Qt::ApplicationState::ApplicationInactiveQt::ApplicationState::ApplicationActive事件。在我的 QML 文件中使用类似的东西

Connections {
   target: something_but_what
   onApplicationStateChanged: {
     console.log("State changed", state)
   }
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

qt qml qtquick2 qapplication qtquickcontrols2

3
推荐指数
1
解决办法
1088
查看次数

QT5 错误:未知类型名称“QCoreApplication”。Qt5 中的第一个程序

我刚刚在 Linux Ubuntu 20.04 LTS 中安装了 QTCreator,单击“文件”->“新建项目”->“应用程序”->“QTConsole 应用程序”。制作了first.pro 文件和main.cpp 文件。

第一个.pro 包含:

QT -= gui declarative
QT += widgets

CONFIG += c++11 console
CONFIG -= app_bundle

DEFINES += QT_DEPRECATED_WARNINGS


SOURCES += \
        main.cpp

qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
Run Code Online (Sandbox Code Playgroud)

main.cpp 包含:

 #include <QCoreApplication>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    return a.exec();
}
Run Code Online (Sandbox Code Playgroud)

错误出现在 QCoreApplication 行中。

c++ user-interface qt5 qcoreapplication qapplication

3
推荐指数
1
解决办法
4335
查看次数

如何在无头模式下运行 Qt 应用程序(不显示我的 GUI)

我有一个基于 a 的 QT 应用程序QApplication,假设我的应用程序有一个复杂的 GUI(QDialogQMainWindow...)。

我的应用程序可以以两种模式运行:

  • 带图形用户界面
  • 在无头模式下

我想知道如何在无头模式下启动应用程序(也就是说没有 GUI 可见)

从下面的非常基本的代码来看,我必须有什么论据才能允许这样做?

int main(int argc, char*argv[])
{
  QApplication app(argc, argv);
  // which option should I add to argv to run in headless mode
  return app.exec();
}
Run Code Online (Sandbox Code Playgroud)

c++ qt command-line qt5 qapplication

3
推荐指数
1
解决办法
4071
查看次数

请首先实例化QApplication对象

我有一个静态类,希望它有静态QSettings.但是在初始化时我得到一个警告:

QSettings* MySQLConnection::settings = new QSettings(QApplication::applicationDirPath() + "/config.ini", QSettings::IniFormat);
Run Code Online (Sandbox Code Playgroud)

QCoreApplication :: applicationDirPath:请首先实例化QApplication对象

作为一种解决方法,我QSetting在主函数的开头手动初始化.有没有更好的方法来初始化我的静态成员?

谢谢!

c++ qt static-members qcoreapplication qapplication

2
推荐指数
1
解决办法
8084
查看次数

如何使用线程实例化多个QApplication

我找到了一种解决方案,以防止app.exec()这里阻塞主线程。

我尝试实现此功能,但出现以下错误:

WARNING: QApplication was not created in the main() thread.
QWidget: Cannot create a QWidget without QApplication
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

PB是具有静态函数的类,该函数可初始化GUI。

pb.cpp:

bool PB::Init(int argc, char *argv[],
        int ID) {

    QApplication app(argc, argv);
    PB PB(ID); // The constructor creates an instance of the pushbutton qt object
    app.exec();
    return true; // Do I even need this because app.exec() runs an infinite loop right?

}
Run Code Online (Sandbox Code Playgroud)

main.cpp:

int main(int argc, char *argv[]) {

    std::thread first(&PB::Init, argc, argv, 0);
    std::thread second(&PB::Init, …
Run Code Online (Sandbox Code Playgroud)

c++ user-interface qt multithreading qapplication

1
推荐指数
1
解决办法
723
查看次数