通常,QString转换为std::string,我们使用
toStdString()
例如:
QString ss( "test" );
std::string s = ss.toStdString();
可是有些情况发生异常,我这边发生异常是因为我的运行时库是静态然后Qt使用动态库,导致这个问题。
方法也有很多种
QString str="test";
QByteArray ba = st… 更多... “QString转换为std::string程序异常”
IT夜班车
通常,QString转换为std::string,我们使用
toStdString()
例如:
QString ss( "test" );
std::string s = ss.toStdString();
可是有些情况发生异常,我这边发生异常是因为我的运行时库是静态然后Qt使用动态库,导致这个问题。
方法也有很多种
QString str="test";
QByteArray ba = st… 更多... “QString转换为std::string程序异常”
在QT中如果你使用
QDialog *pDlg = new QDialog( this );
pDlg->show();
你会发现对话框不是模式显示的。如果要模式显示可以使用
1)
QDialog *pDlg = new QDialog( this );
pDlg->setModel( true );
pDlg->show();
2)
QDialog *pDlg = new QDialog( this );
pDlg->… 更多... “Qt 显示模式对话框”
QT有自己的文件和文件夹,目录的操作类:
QFile
QDir
但是你发现并没有创建目录和创建文件的函数。其实你完全可以用c运行时库提供的方法来创建文件,如:
FILE *pF = fopen( "filename", "w" );
并且qt也提供了一个构造函数根据FILE来直接构造QFile。
由于他是标准c运行时库的函数,所以仍然不失qt的可移植性。
有人说可以用:
system( “touch filename… 更多... “QT 创建文件”
Uncategorized
June 8th, 2010
在qt Designer中编辑出来的界面,最后会被保存成*.ui的文件,然后用qmake就可以生成对应的头文件。ui文件我们可以用utrleditor(windows 下面)或者kwriter(linux)打开,其实里面就是一个xml格式的文件,这个文件中用树状结构描述了,整个界面的组织结构,每个界面元素的描述,大小,名字,位置等等。
用qmake来生成ui头文件的命令如下, 假设我们ui文件名字是myt… 更多... “qt快速界面设计”
我们先上一段代码分析一下:
mydialog.h class MyDialog : public QDialog { public: explicit MyDialog( QWidget* parent ); private: QLabel* m_pText; QPushButton* m_pExit; QVBoxLayout* m_pMainLayout; } /////////////////////////////////… 更多... “QT中的内存管理”
想要使用QGLWidget,于是就
#include <QGLWidget>
编译,结果被告知:
no such file or directory
也是用
find / -name QGLWidget
找到了这个文件,但是为什么我们编译的时候出错了,原因是没有qt默认是没有包含这个路径的,因此在源代码中直接包含全路径。
#include </usr/include/QtOpenGL/QGLWidget>… 更多... “Qt中 QGLWidget碰到no such file or directory的解决办法”
首先cd到你的目录,如果你没有工程目录,可以创建一个,比如:
mkdir testqt
cd testqt
我们用vim来编写我的程序,或者其他的文本编辑工具,输入下列程序:
#include <QtGui/QDialog>
int main(int argc, char *argv[])
{
QApplication::setStyle(“cleanlooks”);
QApplicatio… 更多... “使用qt命令来编译的基本步骤”
使用GDI+来实现抗锯齿,如果单单使用GDI是不能实现抗锯齿的。
使用qt的话,也可以实现抗锯齿,并且不只是一些线条的抗拒,比如说是画直线或者圆的时候,text也可以抗拒。
参看qt的帮助文档:
QPainter::Antialiasing | 0x01 | Indicates that the engine should antialias edges of primitives if possible. |
QPainter::Text |
设置背景颜色有人说是:
QPalette pal = widget.palette();
pal.setColor(widget.backgroundRole(), Qt::blue);
widget.setPalette(pal);
但是我用这种方法设置我的toolbar根本就效果。
后来查看qt的帮助文档,看到可以用qt style sheet来设置,并且它不仅可以设置背景颜色,还可以设置其他的属性,如背景图片,文… 更多... “qt设置widget的背景颜色和图片”