Category Archives: QT

QString转换为std::string程序异常

通常,QString转换为std::string,我们使用

toStdString()

例如:

QString ss( "test" );

std::string s = ss.toStdString();

可是有些情况发生异常,我这边发生异常是因为我的运行时库是静态然后Qt使用动态库,导致这个问题。



方法也有很多种
QString str="test";
QByteArray ba = st
更多... “QString转换为std::string程序异常”

QT 创建文件

QT有自己的文件和文件夹,目录的操作类:

QFile

QDir

但是你发现并没有创建目录和创建文件的函数。其实你完全可以用c运行时库提供的方法来创建文件,如:

FILE *pF = fopen( "filename", "w"  );

并且qt也提供了一个构造函数根据FILE来直接构造QFile。

由于他是标准c运行时库的函数,所以仍然不失qt的可移植性。

有人说可以用:

system( “touch filename… 更多... “QT 创建文件”

qt快速界面设计

在qt Designer中编辑出来的界面,最后会被保存成*.ui的文件,然后用qmake就可以生成对应的头文件。ui文件我们可以用utrleditor(windows 下面)或者kwriter(linux)打开,其实里面就是一个xml格式的文件,这个文件中用树状结构描述了,整个界面的组织结构,每个界面元素的描述,大小,名字,位置等等。

用qmake来生成ui头文件的命令如下, 假设我们ui文件名字是myt… 更多... “qt快速界面设计”

Qt中 QGLWidget碰到no such file or directory的解决办法

想要使用QGLWidget,于是就

#include <QGLWidget>

编译,结果被告知:

no such file or directory

也是用

find / -name QGLWidget


找到了这个文件,但是为什么我们编译的时候出错了,原因是没有qt默认是没有包含这个路径的,因此在源代码中直接包含全路径。

#include </usr/include/QtOpenGL/QGLWidget>… 更多... “Qt中 QGLWidget碰到no such file or directory的解决办法”

使用qt命令来编译的基本步骤

首先cd到你的目录,如果你没有工程目录,可以创建一个,比如:

mkdir testqt

cd testqt

我们用vim来编写我的程序,或者其他的文本编辑工具,输入下列程序:

#include <QtGui/QDialog>
int main(int argc, char *argv[])
{
    QApplication::setStyle(“cleanlooks”);
    QApplicatio
更多... “使用qt命令来编译的基本步骤”

qt 抗锯齿

使用GDI+来实现抗锯齿,如果单单使用GDI是不能实现抗锯齿的。

使用qt的话,也可以实现抗锯齿,并且不只是一些线条的抗拒,比如说是画直线或者圆的时候,text也可以抗拒。

参看qt的帮助文档:

QPainter::Antialiasing 0x01 Indicates that the engine should antialias edges of primitives if possible.
QPainter::Text
更多... “qt 抗锯齿”

qt设置widget的背景颜色和图片

设置背景颜色有人说是:

QPalette pal = widget.palette();
pal.setColor(widget.backgroundRole(), Qt::blue);
widget.setPalette(pal);

但是我用这种方法设置我的toolbar根本就效果。

后来查看qt的帮助文档,看到可以用qt style sheet来设置,并且它不仅可以设置背景颜色,还可以设置其他的属性,如背景图片,文… 更多... “qt设置widget的背景颜色和图片”