gpt4 book ai didi

c++ - 为什么要为命令行应用程序包含 QtWidgets?

转载 作者:太空宇宙 更新时间:2023-11-04 16:18:58 26 4
gpt4 key购买 nike

我创建了一个简单的 Qt 控制台应用程序(基于 Qt 提供的示例代码)。虽然这是一个控制台应用程序,但 ldd 显示了很多链接的 X11 内容。

我注意到我的 .pro 文件中有 QT += widgets。这对于控制台应用程序来说似乎很奇怪,所以我删除了小部件但没有编译显示:

main.cpp:13:24: error: QApplication: No such file or directory
main.cpp: In function ‘int main(int, char**)’:
main.cpp:26: error: ‘QApplication’ was not declared in this scope
main.cpp:26: error: expected ‘;’ before ‘app’
main.cpp:47: error: ‘app’ was not declared in this scope
main.cpp: At global scope:
main.cpp:21: warning: unused parameter ‘argc’
main.cpp:21: warning: unused parameter ‘argv’
make: *** [main.o] Error 1

有人能告诉我这是怎么回事吗?我应该需要控制台应用程序的小部件吗?如果没有,为什么我不能成功删除它?

最佳答案

QApplication是 Qt 5 中 QtWidgets 模块的一部分,所以如果你想使用它,那么你需要包含它。

如果您根本不需要任何 GUI 东西,请使用 QCoreApplication反而。它位于 QtCore 模块中,不需要包含花哨的图形部分。

关于c++ - 为什么要为命令行应用程序包含 QtWidgets?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19417831/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com