netbeans:如何将小部件添加到 QT 变量

Posted

技术标签:

【中文标题】netbeans:如何将小部件添加到 QT 变量【英文标题】:netbeans: how to add widgets to QT variable 【发布时间】:2013-02-27 17:44:19 【问题描述】:

我看到人们说现在需要 Qt 5 项目将小部件添加到 QT 变量的帖子,这就是为什么 netbeans 中的简单 Qt 示例不起作用的原因:不能包含 QtGui/QApplication -> 没有这样的文件或目录.

如何将它添加到 QT 变量中?我是否必须为 IDE 或 .bashrc 或不知何故的每个项目都这样做?

【问题讨论】:

不确定这是您的错误,还是 Netbeans 的错误,或者其他什么,但在 Qt 5 中,QApplication 在 QtWidgets 中,而不是在 QtGui 中。 是的,这就是我要说的,因为Netbeans的例子仍然包括QtGui/QApplication,那么这个怎么办呢?如果我只包含 QtWidgets/Qapplication 它包含但仍然链接错误 【参考方案1】:

问题是由于链接错误。这是因为它没有与 QtWidgets 链接。

g++ -m64 -Wl,-rpath,/opt/Qt5.0.1/5.0.1/gcc_64 -Wl,-rpath,/opt/Qt5.0.1/5.0.1/gcc_64/lib -o dist/Debug/GNU-Linux-x86/QtApplication_2 build/Debug/GNU-Linux-x86/main.o   -L/usr/X11R6/lib64 -L/opt/Qt5.0.1/5.0.1/gcc_64/lib -lQt5Gui -lQt5Core -lGL -lpthread 

首先我检查了使用来自 QtCore 的东西仍然有效。代码是:

#include <QtCore/QCoreApplication>

int main(int argc, char *argv[]) 
    // initialize resources, if needed
    // Q_INIT_RESOURCE(resfile);

    QCoreApplication a(argc, argv);

    // create and show your widgets here

    return a.exec();

很好,所以我知道这只是链接错误。 我仍然不知道要添加什么,因为您在 Netbeans 的项目属性的 Qt 选项卡中没有 QtWidget。但反复试验表明,检查此选项卡(模块)上的 QtOpenGl 就足够了,然后将其链接到更多库:

g++ -m64 -Wl,-rpath,/opt/Qt5.0.1/5.0.1/gcc_64 -Wl,-rpath,/opt/Qt5.0.1/5.0.1/gcc_64/lib -o dist/Debug/GNU-Linux-x86/QtApplication_1 build/Debug/GNU-Linux-x86/main.o   -L/usr/X11R6/lib64 -L/opt/Qt5.0.1/5.0.1/gcc_64/lib -lQt5OpenGL -lQt5Widgets -lQt5Gui -lQt5Core -lGL -lpthread

【讨论】:

以上是关于netbeans:如何将小部件添加到 QT 变量的主要内容,如果未能解决你的问题,请参考以下文章

如何将小部件放入空的 QWidget 中? [关闭]

如何有条件地将小部件添加到列表中?

如何将小部件动态添加到网格?

如何将小部件添加到 Dojo gridx/Grid 标题?

如何从我的应用程序将小部件添加到 Android 主屏幕?

将小部件名称与小部件一起添加到主屏幕