QT5找不到#include头文件在哪里

wanghb1989 2013-01-13 04:04:32
我在王珊找了很多资料包括#include<QtGui/QApplication>这种加载方式试过了,就是不能使用!不知道有没有什么办法呢?
我的系统是ubuntu12。04 使用的是Qtcreator5
...全文
10357 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xinyu029 2014-11-09
  • 打赏
  • 举报
回复
引用 2 楼 feilinhe 的回复:
QApplication已不在QtGui下了,所以不要再写<QtGui/QApplication>,而且这种写法不建议,因为大的版本变迁可能会改变,直接<QApplication>这种形式 另外.pro里Qt += widgets,参照以前Qt版本的代码学习时,一定得看看和现有版本之间有无太大的差异
我出现这种状况在pro加个Qt += widgets 就ok
Hehuyi_In 2014-10-08
  • 打赏
  • 举报
回复
引用 8 楼 u013193967 的回复:
在*.pro中添加 QT += widgets
T_T 为什么我加了还是编译出错找不到<QtGui/QApplication>头文件。。。
澄心20102541 2014-07-10
  • 打赏
  • 举报
回复
在*.pro中添加 QT += widgets
澄心20102541 2014-07-10
  • 打赏
  • 举报
回复
在*.pro中添加 greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
yiwei_shanxi 2014-07-09
  • 打赏
  • 举报
回复
需要修改一下 *.pro 为如下: QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = HelloWorld TEMPLATE = app SOURCES += \ main.cpp 并且最好删掉HelloWorld.pro.user 然后重新构建就可以了~
  • 打赏
  • 举报
回复
引用 2 楼 feilinhe 的回复:
QApplication已不在QtGui下了,所以不要再写<QtGui/QApplication>,而且这种写法不建议,因为大的版本变迁可能会改变,直接<QApplication>这种形式 另外.pro里Qt += widgets,参照以前Qt版本的代码学习时,一定得看看和现有版本之间有无太大的差异
你是从哪查到QApplication改变的???我怎么用QtCreator中的文档没有找见
sunnyfulin 2013-03-29
  • 打赏
  • 举报
回复
啊哈~~找到了: http://bbs.csdn.net/topics/380130389
sunnyfulin 2013-03-29
  • 打赏
  • 举报
回复
去安装目录下面搜遍了。。。根本就没有这个头文件。。。。。。。。。。。。。。。。。。。。
feilinhe 2013-01-13
  • 打赏
  • 举报
回复
QApplication已不在QtGui下了,所以不要再写<QtGui/QApplication>,而且这种写法不建议,因为大的版本变迁可能会改变,直接<QApplication>这种形式 另外.pro里Qt += widgets,参照以前Qt版本的代码学习时,一定得看看和现有版本之间有无太大的差异
乔巴好萌 2013-01-13
  • 打赏
  • 举报
回复
? Qt5还这样啊 以前用的Qt4系列 装完就可以了 自己能配置环境变量 如果没找到 你就搜下 qapplication.h在哪个目录 然后自己配置下环境变量吧
Qt Creator 多线程读取文件到程序显示 利用QT Creator多任务读取一个文档到程序里 为了防止直接读取文件里的内容太大而发生卡顿,于是多线程读取将更高效的解决这个问题。 效果图如下: 其中pro文件无需改动,默认就好,头文件h里面的内容为 #ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MyObj; class MyObj : public QObject { Q_OBJECT public: MyObj(); //新的线程 signals: void toLine(QString line); private slots: void doWork(); }; class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); private slots: void appendText(QString); //定义一个槽 private: Ui::MainWindow *ui; QThread *t; MyObj *obj; }; #endif // MAINWINDOW_H 而MAIN主文件的内容为了防止中文乱码做了如下修改: #include "mainwindow.h" #include #include int main(int argc, char *argv[]) { QApplication a(argc, argv); //设置中文字体 防止乱码 a.setFont(QFont("Microsoft Yahei", 9)); //设置中文编码 #if (QT_VERSION <= QT_VERSION_CHECK(5,0,0)) #if _MSC_VER QTextCodec *codec = QTextCodec::codecForName("GBK"); #else QTextCodec *codec = QTextCodec::codecForName("UTF-8"); #endif QTextCodec::setCodecForLocale(codec); QTextCodec::setCodecForCStrings(codec); QTextCodec::setCodecForTr(codec); #else QTextCodec *codec = QTextCodec::codecForName("UTF-8"); QTextCodec::setCodecForLocale(codec); #endif MainWindow w; w.show(); return a.exec(); } 接下来重点来了,源文件CPP里为 #include "mainwindow.h" #include "ui_mainwindow.h" #include #include #include #include #include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); t = new QThread(); //QThread obj = new MyObj(); obj->moveToThread(t); qDebug()<<"main thread:"<
比较适合初学者,我本人觉得不错,希望对大家有用! 教程会一行一行的解说,如: 一行一行地解说 #include 这一行包含了QApplication类的定义。在每一个使用Qt的应用程序中都必须使用一个QApplication对象。QApplication管理了各种各样的应用程序的广泛资源,比如默认的字体和光标。 #include 这一行包含了QPushButton类的定义。参考文档的文件的最上部分提到了使用哪个类就必须包含哪个头文件的说明。 QPushButton是一个经典的图形用户界面按钮,用户可以按下去,也可以放开。它管理自己的观感,就像其它每一个QWidget。一个窗口部件就是一个可以处理用户输入和绘制图形的用户界面对象。程序员可以改变它的全部观感和它的许多主要的属性(比如颜色),还有这个窗口部件的内容。一个QPushButton可以显示一段文本或者一个QPixmap。 int main( int argc, char **argv ) { main()函数是程序的入口。几乎在使用Qt的所有情况下,main()只需要在把控制转交给Qt库之前执行一些初始化,然后Qt库通过事件来向程序告知用户的行为。 argc是命令行变量的数量,argv是命令行变量的数组。这是一个C/C++特征。它不是Qt专有的,无论如何Qt需要处理这些变量(请看下面)。 QApplication a( argc, argv ); a是这个程序的QApplication。它在这里被创建并且处理这些命令行变量(比如在X窗口下的-display)。请注意,所有被Qt识别的命令行参数都会从argv中被移除(并且argc也因此而减少)。关于细节请看QApplication::argv()文档。 注意:在任何Qt的窗口系统部件被使用之前创建QApplication对象是必须的。 QPushButton hello( "Hello world!", 0 ); 这里,在QApplication之后,接着的是第一个窗口系统代码:一个按钮被创建了。 这个按钮被设置成显示“Hello world!”并且它自己构成了一个窗口(因为在构造函数指定0为它的父窗口,在这个父窗口中按钮被定位)。 hello.resize( 100, 30 ); 这个按酒被设置成100像素宽,30像素高(加上窗口系统边框)。在这种情况下,我们不用考虑按钮的位置,并且我们接受默认值。 a.setMainWidget( &hello ); 这个按钮被选为这个应用程序的主窗口部件。如果用户关闭了主窗口部件,应用程序就退出了。 你不用必须设置一个主窗口部件,但绝大多数程序都有一个。 hello.show(); 当你创建一个窗口部件的时候,它是不可见的。你必须调用show()来使它变为可见的。 return a.exec(); 这里就是main()把控制转交给Qt,并且当应用程序退出的时候exec()就会返回。 在exec()中,Qt接受并处理用户和系统的事件并且把它们传递给适当的窗口部件。 } 你现在可以试着编译和运行这个程序了。

16,214

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧