zoukankan      html  css  js  c++  java
  • QT知识整理

    1、connect函数的SIGNAL可以是按键、定时器、其他对象的信号。如果是其他对象的信号,对象必须要在当前类中实例化。

    2、Qt数据类型转换

    1)int转QString
    int a=10;
    QString b;
    b=QString::number(a)


    2)QString 转int
    QString a="120";
    int b;
    b=a.toInt();

    3)数据类型转换
    char* str1 = "abc";

    //char* to QString
    方法1:QString str2 = QString(QLatin1String(str1));
    方法2:QString str2 = QString("%1").arg(str1);

    //QString to char*
    char* str3 = str2.toLatin1.data();
    如果包含中文:char* str3 = str2.toLocal8bit().data();
    通过string转:char* str3 = str2.toStdstring().c_str();//返回值为const char*型

    string a = str2.toStdstring();//QString to string
    QString b = QString::fromstdstring(a);//string to QString

    char* c = a.c_str();//string to const char*
    string d(c);//char* to string

    //int to string
    方法1:
    int aa=12;
    stringstream ss;
    ss<<aa;
    string str = ss.str();

    方法2:
    string str = to_string(aa);

    //string to int
    方法1:
    istringstream is("12");
    int n;
    n<<is;

    方法2:
    int n = atoi(str.c_str());

    3、保留指定位置小数

    float a = 3.1415
    QString str = QString::number(a, 'f', 2)

    4、变长数组QVector用法:

    QVector<int> intVec;

    intVec.append(1);

    int num = intVec.data()[i];

    int num = intVec.at(i);

    intVec.remove(i);//删除某数
    intVec.removeAt(i);
    intVec.remove(i,count);//从第i个开始,删除后面count个元素

    5、查找同一页面所有相同类型控件

    const QObjectList list = ui->frame_>children();
    for(int i=0; i<list.length(); i++){
        QObject *o = list.at(i);
        if(o->inherits("QCheckBox")){
            QCheckBox *b = qobject_cast<QCheckBox*>(o);
            if(b->isChecked()){
                sn += (b->text()).append("#");
            }
        }else{
            continue;
        }
    }

    http://blog.51cto.com/11496263/1875393

    https://blog.csdn.net/qq_42345394/article/details/80803092

    Qt信号槽 + 函数指针

    https://bbs.csdn.net/topics/392292112?page=1

    http://www.job592.com/pay/ms/81205.html

    https://blog.csdn.net/baidu_32262373/article/details/54969696

    http://mobile.51cto.com/symbian-270982.htm

  • 相关阅读:
    08-Linux命令【rm】
    07-Linux命令【mv】
    06-Linux命令【cp】
    05-Linux命令【rmdir】
    04-Linux命令【mkdir】
    03-Linux命令【ls】
    02-Linux命令【cd】
    01-Linux命令【pwd】
    智慧城市3D园区
    自我觉醒
  • 原文地址:https://www.cnblogs.com/AndrewYin/p/9274888.html
Copyright © 2011-2022 走看看