QT每天一个小技巧

一、前言

使用QT进行开发的过程中,经常发现一些实用的小技巧,有时候能给开发带来不少便捷。因此,写下此文积累一些这方面的知识,便于自己查阅以及给广大开发者提供一些参考。

二、正文

1.整形和QString互转,以及格式化的问题

1)整形转QString

10进制

    int a = 100;
    QString str = QString::number(a);

16进制

    int a = 100;
    QString str = QString::number(a, 16);

保留指定位数,不足补0,实现类似printf()函数的功能

// 输出"001"
int a=1;
QString str0 = QString::number(a).sprintf("%03d",a)        // 方法1
QString str1 = QString("%1").arg(a, 3, 10, QChar('0'));    // 方法2

2)QString转整形

QString num_str = "123";
int num = num_str.toInt();        // 10进制                

QString hex_str = "30FF";
bool ret;
int num2 = hex_str.toInt(&ret, 16);    // 16进制,第一个参数也可以填NULL    

2.QString的截取

QString str = "abc123";

str.letf(2);          // "ab"
str.right(4);         // "c123"
str.mid(1, 3);        // "bc1"   
str.remove(0, 2);     // "c123"
str.remove("abc");    // "123"

3.文本编辑框和行编辑框强制英文输入法

有些场景下输入框只需要输入英文,如果输入中文则会引起错误,这个时候可以通过如下方法设置编辑框的属性,使之输入时强制系统输入法为英文输入法。

QTextEdit *te = new QTextEdit();
te->setAttribute(Qt::WA_InputMethodEnabled, false);

猜你喜欢

转载自blog.csdn.net/fun_tion/article/details/122448355