QT笔记(一)

Qt下载:

download.qt.io

 

mingw 的gcc 版本

可在命令行中

 

 

终端编译Qt工程

 

 

 

 

///

Ctrl  +  H水平布局

Ctrl +  L 垂直布局

alt + shift + R 预览

Ctrl +  R 运行 

Ctrl +  i 代码排版

Shift +  F4 UI编辑器和代码编辑器

F3编辑部件

F4编辑信号和槽

代码编码格式设置

操作如下:编辑->Select Encoding进行编码设置

//

qt在.pro添加这三行,然后release版本调试。

# QMAKE *.pro-file: enable debugging info in release mode

#

# gcc

#QMAKE_CXXFLAGS_RELEASE += -O0 -g

#QMAKE_CFLAGS_RELEASE += -O0 -g

#QMAKE_LFLAGS_RELEASE =

 

# msvc

QMAKE_CXXFLAGS_RELEASE += /Zi

QMAKE_CXXFLAGS_RELEASE += /Od

QMAKE_LFLAGS_RELEASE += /DEBUG

# DEFINES +=QT_NO_DEBUG_OUTPUT # disable debug output

DEFINES -=QT_NO_DEBUG_OUTPUT #enable debug output

//注意:

屏蔽release版本中所有QDebug()提示信息:

如果要在命令行输出时不打出所有qdebug信息,可以在pro文件中添加DEFINES+=QT_NO_DEBUG_OUTPUT

/

更新UI界面的编辑(当界面出问题时)。

user interface complier的缩写 UIC(用户界面的编译器)

//

//

这3个东西到底是做什么呢?

QTextCodec::setCodecForCStrings(textc);

QTextCodec::setCodecForTr(textc);

QTextCodec::setCodecForLocale(textc);

3个很简单的东西。字节流<==> 字符串

//

一些使用Qt Creator的tip

 

1.    使用network或opengl或sql等模块后编译不通过

在pro文件中写如下语句:QT += network 或 QT += opengl 或 QT += sql

 

2.      代码自动完成功能区分大小写

在Tools->Options菜单中的Text Editor->Completion中,勾掉“Case-sensitivecompletion”,这样就不会因为你大小写错了而使整个completion都消失掉。

 

3.      Debug时提示没有debug helper

如下图,在Options菜单中红圈的位置点击Rebuild。

 

4.      Qrc中增加了图片,但是在程序中用不了

Qrc文件中可以增加Qt程序使用的资源文件。这些文件会被编译到exe文件中。增加资源时需要先增加前缀prefix。看看你的prefix写的对不对。如果前缀是“/”那么一个典型的图片文件路径可能是“:/Resources/Images/aaa.png”。另外,在qrc中,文件名和路径名是区分大小写的。我曾经在这里卡了好几个小时,最后都怀疑Qt Creator是不是“水货”了。

 

5.      Qt Creator在Windows系统中,怎样链接VC生成的动态链接库

这个问题曾经困扰了我一整天。我想的是按照VC中的方法,增加include文件,增加lib文件,然后编译即可。谁知链接时总是出现问题。提示是undefined reference to XXXXX。查了手册和网络,原来这是mingw用户在windows上经常遇到的问题,而且好像至今没有完美的解决方案。这个错误的起因是因为VC生成lib的_stdcall函数名与mingw生成的不一致。一种解决方案是使用libdll等工具生成新的用于mingw的lib,另一种解决方案是把代码全拿过来重新编译(汗)。

最后我也不知道为什么自己试出来一个新的方法,这个方法尚未从技术上找到原因。也未经过广泛的测试。有兴趣的TX可以试试。

如果你要链接到一个abc.lib文件,头文件是abc.h,动态链接库是abc.dll。那么在pro文件中先加入下面一行

INCLUDEPATH += D:/Qt/include

INCLUDEPATH是一个编译变量,存储了所有包含include文件的路径,这个目录下保存了abc.h文件。然后再加入下面一行:

LIBS += D:/Qt/bin/abc.dll

LIBS也是一个编译变量,存储了所有需要链接的库文件。看清楚了,不是“abc.lib”哦,是“abc.dll”。神奇吧,这样居然可以链接成功了(lib文件可以删了)。喜欢研究的TX可以研究研究mingw究竟是怎么做的。

 

6.      Qt项目更换文件目录后编译失败

Qt Creator编译时不支持中文路径名。对于带空格的路径,如果你想在pro文件中加入,需要使用$$quote来指定,

如:$$quote(C:/mylibs/extra libs/extra.lib)。另外,如果你习惯了Windows下‘/’的话,最好改改你的习惯,在Qt中路径习惯用‘/’。

///

1 解决问题:没有用选项“/LIBPATH:”指定的参数
2 LIBS+=到底如何用!!!!!!
语法是 LIBS+= -L直接打地址 -l直接打库名
注意点:-L后面没有空格,直接跟着地址,然后空格,-l后面是去掉lib之后的文件名。(真TMDSB!)
一个例子:如我们有E:\CLibraries\NewmatL\debug\libNewmatL.a这个文件,则:
LIBS += -LE:\CLibraries\NewmatL\debug\ -lNewmatL
或者如果需要编译的pro在E:\CLibraries\TEST-build-desktop下,则可以:
NEWMAT_ROOT = ..\NewmatL
LIBS += -L$${NEWMAT_ROOT}\debug -lNewmatL

/

Qt如何读取windows系统环境变量

方法1:
QString path = QProcessEnvironment::systemEnvironment().value("PATH")

方法2:
QStringList environment = QProcess::systemEnvironment(); 
QString str; foreach(str,environment) 
{
     if (str.startsWith("PATH="))
     {
         ui.textEdit->append(str);
         break;
     }
 } 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值