Qt5开发笔记

来源:互联网 发布:网吧服务器优化 编辑:程序博客网 时间:2024/06/10 19:17

QT5.8.0+QT Creator4.2.1

1、Qt4的QApplication在QtGui中,Qt5中的QApplication在QtWidgets

Qt4中:

#include <QtGui/QApplication>
#include <QtGui/QLabel>
int mian(int argc, char *argv[])
{
    QApplication a(argc,argv);
    QLabel label("1243\n");
    label.show();
    return a.exec();
}
Qt5中:

#include <QLabel>
#include <QApplication>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QLabel label("1243\n");
    label.show();
    return a.exec();
}

2、int、float、double转String

int i = 200;

QString j = QString::number(i,10);

j = "200"

QString j = QString::number(1,16);

j = "c8";

QString j = QString::number(1,16).toUpper;//大写

j = "C8";

还有一种方法:

long a =  63;

QString s = QString("%1"),arg(a);

3、String转int、float、double、char*

转double:

QString a = "12.55";

double b = a.toDouble();//b = 12.55

bool ok;

ok = true;

double a;

a = QString("13.654e-02").toDouble();//a = 0.13654

转float:

  1. QString str="123.45";  
  2. float d=str.toFloat(); //d=123.45  

  1. QString str="R2D2";  
  2. bool ok;  
  3. float d=str.toFloat(&ok); //转换是被时返回0.0,ok=false;  

转int:

QString j = "123";

int i = j.toInt();

  1. Qstring str="FF";  
  2. bool ok;  
  3. int dec=str.toInt(&ok,10); //dec=255 ; ok=rue  
  4. int hex =str.toInt(&ok,16); //hex=255;ok=true;  

转char*:

  1. QString qstr("hello,word");  
  2. const char * p = qstr.toLocal8Bit().data();  

  1. const char *p = qstr.toStdString().data();  

4、获取当前路径和设置路径

QString path = QDir::currentPath();//当前路径 

QDir::setCurrent("路径");//设置当前路径

5、禁止设置窗口大小

构造函数初始化中:

setFixedSize(100,100);

setFixedSize(this->width(),this->height());

6、窗口最大化、最小化按钮

main.cpp中,show()前面

隐藏最大化、最小化按钮:

w.setWindowFlags(w.windowFlags() &~ Qt::WindowMaximizeButtonHint);//最大化

w.setWindowFlags(w.windowFlags() &~ Qt::WindowMinimizeButtonHint);//最小化

添加最大化、最小化按钮:

this->setWindowFlags(this->windowFlags()&Qt::WindowMaximizeButtonHint&Qt::WindowMinimizeButtonHint)

7、截取字符串

CString::Left(int nCount)const; //从左边1开始获取前 nCount个字符

CString::Mid(int nfirst)const; //从左边第 nfirst+1个字符开始,获取后面所有的字符

CString::Mid(intnFirst,intnCount)const; //从左边第 nFirst+1 个字符开始,获取后面nCount个字符

CStringRight(intnCount)const; //从右边1开始获取从右向左前 nCount个字符

voidMakeUpper(); //这个函数可以将CString字符转化为一个大写的字符串。

8、字符串内查找

String.indexOf() 只匹配到第一个合适的,返回位置。

String.lastIndexOf() 是匹配最后一个合适的,返回位置。

9、对话框大小设置

 setMinimumSize( 200, 120 );//最小大小 setMaximumSize( 200, 120 );//最大大小
setGeometry( 62, 40, 75, 30 );//62,40控件左上角坐标,控件宽75,控件高30


10、设置应用程序图标(exe和标题图标)

图标ico.ico文件放置在源代码文件中。

在.pro文件最下面添加:RC_ICONS = ico.ico

运行程序

11、(const)QString转换为const char*

a.toStdString().data()//a为const QString,主要为从控件获取数据的类型

12、中文界面上显示乱码

头文件:#include <QStringList>

QStringLiteral("中文内容")//解决乱码显示问题

原创粉丝点击