第五章 常用类

这篇具有很好参考价值的文章主要介绍了第五章 常用类。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、QString 字符串类(掌握)

QString是Qt中的字符串类,QString使用Unicode编码C和C++使用的ASCII编码中,一个字符是8位的char,但是在Qt中因为使用的时候QString,因此字符串中的每个字符是一个16位的QChar,完美支持中文。

QString可以通过下面的函数完成与数字之间的转换。

  • QString QString::number(int n, int base = 10) [static]

数字 → 字符串

参数1:要转换的数字

参数2:进制,默认为10进制

返回值:一个新生成的字符串对象

  • QString & setNum(int n, int base = 10)

数字 → 字符串

参数1:要转换的数字

参数2:进制,默认为10进制

返回值:当前类的对象,支持链式调用

  • int toInt(bool * ok = 0, int base = 10) const

字符串 → 数字

参数1:转换是否成功 bool类型的指针

参数2:进制,默认为10进制

返回值:转换后的结果,转换失败返回0

dialog.cpp

#include "dialog.h"
#include "ui_dialog.h"

Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);

    // Unicode编码
    QString text = "すふせそシ";
    qDebug() << text;
    text = "āáǎà";
    qDebug() << text;

    // int → QString
    int i = 16;
    text = QString::number(i,16);
    qDebug() << text; // "10"

    QString str;
    str.setNum(255,16).append("A");
    qDebug() << str; // "ffA"

    str = "GAA";
    // QString → int
    bool result;
    //result的结果表示是否转换成功 i是转换的结果
    i = str.toInt(&result,16);
    qDebug() << "转换是否成功:" << result;
    qDebug() << "转换结果:" << i;
}

Dialog::~Dialog()
{
    delete ui;
}

QString相关的字符串处理函数基本兼容std::string的API,在此基础上,增加了符合Qt设计规范的相关API,建议记忆相关核心词汇后,使用时查阅文档。

qstring::number,Qt,qt,ui,开发语言

二、创建定义C++类(掌握)

在C++的课程中,所有创建的类都在一个cpp文件中,Qt中每个类通常都是单独的文件,且声明与定义分离。

下面是一个创建自定义C++类的步骤:

1. 选中项目名称,鼠标右键,点击“添加新文件”

2. 在弹出的窗口中,安装下图所示进行操作。

qstring::number,Qt,qt,ui,开发语言

3. 在弹出的窗口中,输入类名后,点击“下一步”。

qstring::number,Qt,qt,ui,开发语言

4. 在项目管理界面,直接点击“完成”。可以在项目中看到对应的文件。

qstring::number,Qt,qt,ui,开发语言

5. 在头文件和源文件中进行声明和定义。

示例代码下载链接:https://pan.baidu.com/s/1OurKPhQIM5a9p8UI3rWhmQ 

提取码:hqyj

--来自百度网盘超级会员V6的分享

dialog.h

#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
#include <QDebug>
// 引入文件
#include "student.h"

namespace Ui {
class Dialog;
}

class Dialog : public QDialog
{
    Q_OBJECT

public:
    explicit Dialog(QWidget *parent = 0);
    ~Dialog();

private:
    Ui::Dialog *ui;
};

#endif // DIALOG_H

student.h

#ifndef STUDENT_H
#define STUDENT_H

// 引入头文件
#include <QString>

class Student
{
public:
    Student(QString name,int age,QString major);//构造函数目前只是个声明

    QString getName() const;
    void setName(const QString &value);

    int getAge() const;
    void setAge(int value);

    QString getMajor() const;
    void setMajor(const QString &value);

private:
    QString name;
    int age;
    QString major;
};

#endif // STUDENT_H

dialog.cpp

#include "dialog.h"
#include "ui_dialog.h"

Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);

    // 创建一个学生对象
    Student s("张三",22,"物联网");
    s.setName("李四");
    qDebug() << s.getName() << s.getAge() << s.getMajor();
}

Dialog::~Dialog()
{
    delete ui;
}

student.cpp

#include "student.h"
//构造函数 和初始化列表进行的成员赋值
Student::Student(QString name,int age,QString major)
    :name(name),age(age)
{
    this->major = major;
}

QString Student::getName() const
{
    return name;
}

void Student::setName(const QString &value)
{
    name = value;
}

int Student::getAge() const
{
    return age;
}

void Student::setAge(int value)
{
    age = value;
}

QString Student::getMajor() const
{
    return major;
}

void Student::setMajor(const QString &value)
{
    major = value;
}

Tips:

1. 编程字体选择

编程字体都是等宽的,可以使用下面的网站进行选择

Coding Font by Typogram – Find Your True Love of Coding Fonts

qstring::number,Qt,qt,ui,开发语言

也可以使用微软内置的Consolas字体

三、容器(掌握)

Qt的容器类相比STL的容器类更轻巧、安全和易于使用,本次顺序容器使用QList进行讲解,关联容器使用QMap进行讲解。

3.1 QList

QList几乎支持所有C++中顺序容器的操作方式,除此之外还增加了很多Qt中新的操作方式,例如迭代器增加了Java风格。

C++ STL

Java

等效

QList<T>::const_iterator

QListIterator<T>

等效

QList<T>::iterator

QMutableListIterator<T>

在C++中取出单元素,推荐使用at函数代替[],原因at函数更安全;Qt中仍然推荐使用at函数,因为at函数的性能更强。

可以把QStringList等效为QList<String>

示例代码下载链接:百度网盘 请输入提取码

提取码:hqyj

--来自百度网盘超级会员V6的分享

dialog.cpp

#include "dialog.h"
#include "ui_dialog.h"

Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);

    Student s1("张三",22,"物联网");
    Student s2("李四",23,"电子信息工程");
    Student s3("王五",24,"自动化");
    Student s4("赵六",25,"计算机");

    // 创建QList对象
    QList<Student> class22092;
    // 增加元素
    class22092.push_back(s1); // 向后追加
    class22092.push_front(s2); // 向前追加
    class22092.append(s3); // 向后追加
    // 链式连续追加
    class22092 << s4 << s4 << s4;
    // 插入元素
    // 参数1:插入的位置
    // 参数2:插入的元素
    class22092.insert(1,s4);

    // 删除元素(倒数第二个)  //因为他这个指针是指向最后一个元素的后面
    class22092.removeAt(class22092.size()-2);

    // 修改元素(把第一个元素更改为赵六)
    // 参数1:替换元素的位置
    // 参数2:替换的新元素
    class22092.replace(0,s4);

    // 取出元素(第二个)
    qDebug() << class22092[1].getName();
    qDebug() << class22092.at(1).getName();

    // C++ STL迭代器
    for(QList<Student>::const_iterator iter = class22092.begin();
        iter != class22092.end(); iter++)
    {
        Student s = *iter;
        qDebug() << s.getName() << s.getAge() << s.getMajor();
    }

    qDebug() << "------------------------";
    // 清空元素
    class22092.clear();
    // 判断是否为空
    qDebug() << class22092.empty();
    qDebug() << class22092.isEmpty();

    // 创建一个Java风格的迭代器对象
    QListIterator<Student> iter(class22092);
    // 遍历
    while(iter.hasNext()) // 判断当前迭代器指针的位置后面有无元素
    {
        // 向后移动迭代器指针并取出元素
        Student s = iter.next();
        qDebug() << s.getName() << s.getAge() << s.getMajor();
    }

}

Dialog::~Dialog()
{
    delete ui;
}

3.2 QMap

与std:map功能类似。

QMap的遍历也同时支持C++ STL风格和Java风格。

C++ STL

Java

等效

QMap<T>::const_iterator

QMapIterator<T>

等效

QMap<T>::iterator

QMapListIterator<T>

示例代码下载链接:百度网盘 请输入提取码

提取码:hqyj

--来自百度网盘超级会员V6的分享

dialog.h

#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
// 头文件
#include <QMap>
#include <QDebug>

namespace Ui {
class Dialog;
}

class Dialog : public QDialog
{
    Q_OBJECT

public:
    explicit Dialog(QWidget *parent = 0);
    ~Dialog();

private:
    Ui::Dialog *ui;
};

#endif // DIALOG_H

dialog.cpp

#include "dialog.h"
#include "ui_dialog.h"

Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);

    // 创建一个QMap对象
    QMap<QString,QString> map;
    // 添加数据
    //  键         值
    map["姓名"] = "杨过";
    map.insert("年龄","22岁"); // 参数1:键;参数2:值

    // 先判断数据在不在,如果在再修改
    if(map.contains("姓名"))
        // 修改
        map["姓名"] = "杨康";


    // 支持直接输出,前提键值对的类型也支持直接输出(QList也支持)
    qDebug() << map;//QMap(("姓名", "杨康")("年龄", "22岁")) 

    // 取出值之前先判断键值对在不在
    if(map.contains("姓名"))
    {
        // 取出数值
        QString text = map["姓名"];
        qDebug() << text;//"杨康"  是直接取得第二个参数就是值
    }
    // 删除键值对
    if(map.remove("年龄") != 0)
    {
        qDebug() << "删除年龄键值对成功!";
    }
    
    qDeubug() << map;//QMap(("姓名", "杨康")) 

    // 不需要先判断键值对在不在,因为如果不在,返回值设定的默认值
    QString text = map.value("年龄","N/A");
    qDebug() << text;//"N/A"   结果为什么是"N/A" 因为我们上面把年龄给删除了

    // 再加点
    map["武功"] = "黯然销魂掌";
    map["伴侣"] = "姑姑";
    map["扮演者"] = "黄晓明";

    // STL风格迭代器遍历
    for(QMap<QString,QString>::const_iterator iter = map.begin();
        iter!=map.end();iter++)
    {
        qDebug() << iter.key() << iter.value();
    }

    qDebug() << "-----------------------";

    // Java风格迭代器                    容器对象                               
    QMapIterator<QString,QString> iter(map);
    while(iter.hasNext())
    {
        iter.next(); // 向后移动
        // 取出移动后指向的键值对数据
        qDebug() << iter.key() << iter.value();
    }

}

Dialog::~Dialog()
{
    delete ui;
}

四、跨平台数据类型

C++本身不具备跨平台特性因为C++在不同的平台下运行可能会出现数据类型长度不一致等问题,Qt为了改善上述特性,设计了一些跨平台的数据类型,如果代码有跨平台需求,需要使用这些支持跨平台的数据类型。

qstring::number,Qt,qt,ui,开发语言

Qt的数据类型与传统数据类型使用方式一致,并且可以相互转换。

另外,为了API的统一,Qt还增加QVariant的数据类型。这个类型扮演者一个通用联合的类型绝大多数常规的qt类型 qt中常见的数据类型都可以转换成该类型 属于一个中间的活跃状态

#include "dialog.h"
#include "ui_dialog.h"

Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);

    int i = 23456;
    // Qt跨平台64位整型
    qint64 num = i;
    qDebug() << ++num; // 23457
    // 创建一个QVariant对象
    QVariant value(num);//构造函数
    // 转换为QString   toString()这个函数就是获取内容数据
    QString text = value.toString();
    qDebug() << text; // "23457"
}

Dialog::~Dialog()
{
    delete ui;
}

五、QDateTime 日期时间类

QDateTime类是Qt中处理日期和时间的类,QDateTime可以分成两个类(不是继承)QDate类QTime类QDate类只能处理日期,QTime类只能处理时间,用法与QDateTime类似,本次只讲解QDateTime类。

常用函数如下:

qint64 QDateTime::currentMSecsSinceEpoch() [static]

返回1970年1月1日到现在的毫秒数 主要用来打时间戳 返回当前事件函数

qint64 QDateTime::currentMSecsSinceEpoch() [static]

返回一个包含当前时区的日期和时间数据QDateTime对象,数据的来源是操作系统。

注意:如果一个类你要拿他的对象不用new 那么只有一种办法 就是通过静态成员函数的返回值来获得

只要有了这个QDateTime对象就可以做获取任意的时间和数据 这个函数是一个成员函数,因为获得了对象后就可以调用成员函数了

qstring::number,Qt,qt,ui,开发语言

QString QDateTime::(const QString & format) const

返回指定格式的日期和时间数据,参数为格式:

qstring::number,Qt,qt,ui,开发语言

时间和日期相关的组件有

qstring::number,Qt,qt,ui,开发语言

示例代码下载链接:https://pan.baidu.com/s/1_9MQrpNeWJnI8xBsD8ixCg 

提取码:hqyj

--来自百度网盘超级会员V6的分享

qstring::number,Qt,qt,ui,开发语言

dialog.h

#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
// 头文件
#include <QDateTime>
#include <QDebug>

namespace Ui {
class Dialog;
}

class Dialog : public QDialog
{
    Q_OBJECT

public:
    explicit Dialog(QWidget *parent = 0);
    ~Dialog();

private:
    Ui::Dialog *ui;

private slots:
    //时间改变发信号
    // 与void	dateTimeChanged(const QDateTime & datetime)连接
    void dateTimeChangedSlot(QDateTime);
};

#endif // DIALOG_H

dialog.cpp

#include "dialog.h"
#include "ui_dialog.h"

Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    // 时间戳  想看看初始化下面那一句话多久
    qint64 start = QDateTime::currentMSecsSinceEpoch();
    ui->setupUi(this); // 初始化Designer中子组件对象
    qDebug() << QDateTime::currentMSecsSinceEpoch()-start;//45 子组件初始话完成用来45毫秒

    qDebug() << start; //打印这个初始化的时间就用上一句代码功能

    // 生成“随机数”
    // 设置随机数种子
    qsrand(start);
    // 生成一个1-10的随机数
    int rand = qrand()%10+1;
    qDebug() << rand;

    // 打印当前时间和日期
    //QDateTime::currentDateTime()就是获得的QDateTime对象  最后返回一个字符串类型
    QString dt = QDateTime::currentDateTime().toString();
    qDebug() << dt;//"周二 1月 3 09:47:52 2023" 当前日期与事件

    // 连接信号槽
    connect(ui->dateTimeEdit,SIGNAL(dateTimeChanged(QDateTime)),
            this,SLOT(dateTimeChangedSlot(QDateTime)));
    //该对话框里面的事件发生改变就是发射信号 窗口接受该信号并触发相应的槽函数
}

void Dialog::dateTimeChangedSlot(QDateTime dt)
{
    // dt.toString是基于发射过来的时间和日期转换出来的格式
    //QDateTime::currentDateTime().是当前的时间和日期
    //获取到你编辑的事件并以改格式打印出来
    QString text = dt.toString("yyyy-MM-dd hh:mm:ss");
    qDebug() << text;
}

Dialog::~Dialog()
{
    delete ui;
}

六、QTimer 定时器类(肉眼不可见)

和Qputtongroup很像

定时器有两种功能:

  • 一次性定时器:延迟固定时间执行特定代码
  • 周期性定时器:每隔一段时间执行特定代码

常用属性如下:

因为不是组件图像界面不可见只能看函数手册

qstring::number,Qt,qt,ui,开发语言

  • active : const bool

定时器的运行状态,使用bool isActive() const函数获取当前状态。

  • interval : int

如果是一次性定时器,此属性表示延迟执行的时间;如果是周期性定时器,此属性表示间隔时间。时间单位是毫秒,需要设置正数。

  • singleShot : bool

表示是否是一次性

常用函数如下:

void QTimer::start() [slot]//槽函数

启动定时器,如果调用时定时器正在运行,则会停止当前运行,重新开始运行。

void QTimer::stop() [slot]

停止正在运行的定时器。

void QTimer::timeout() [signal]

时间到了发射的信号。

一次性定时器示例代码下载链接:百度网盘 请输入提取码

提取码:hqyj

--来自百度网盘超级会员V6的分享

qstring::number,Qt,qt,ui,开发语言

dialog.h

#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
// 头文件
#include <QTimer>

namespace Ui {
class Dialog;
}

class Dialog : public QDialog
{
    Q_OBJECT

public:
    explicit Dialog(QWidget *parent = 0);
    ~Dialog();

private:
    Ui::Dialog *ui;
    QTimer *timer;//创建事件的推内存对象  因为就算一次性的定时也不能让他丢 周期性更不能

private slots:
    // 点击按钮的槽函数
    void buttonClickedSlot();
};

#endif // DIALOG_H

dialog.cpp

#include "dialog.h"
#include "ui_dialog.h"

Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);

    // 创建了一个定时器对象
    timer = new QTimer(this);
    // 连接信号槽
    connect(ui->pushButton,SIGNAL(clicked()),
            this,SLOT(buttonClickedSlot())); 
    //点击按钮触发槽函数 并获取要延迟的事件为几秒
    connect(timer,SIGNAL(timeout()),
            this,SLOT(close())); // 定时器到点
    //然后定时器发射延时信号 当到了延时的事件就关闭窗口
}

Dialog::~Dialog()
{
    delete timer;//手动管理释放
    delete ui;
}

void Dialog::buttonClickedSlot()
{
    // 屏蔽按钮  避免重新记时
    ui->pushButton->setEnabled(false);
    // 获取输入的时间 因为是毫秒级的变成秒级
    int time = ui->spinBox->value()*1000;
    // 给定时器设定时间
    timer->setInterval(time);
    // 设置为一次性
    timer->setSingleShot(true);
    // 启动定时器
    timer->start();
}

周期性定时器示例代码下载链接:百度网盘 请输入提取码

提取码:hqyj

--来自百度网盘超级会员V6的分享

qstring::number,Qt,qt,ui,开发语言

#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
// 头文件
#include <QTimer>
#include <QDateTime>

namespace Ui {
class Dialog;
}

class Dialog : public QDialog
{
    Q_OBJECT

public:
    explicit Dialog(QWidget *parent = 0);
    ~Dialog();

private:
    Ui::Dialog *ui;
    QTimer* timer;

private slots:
    // 到点了通知的槽函数void QTimer::timeout()
    void timeoutSlot();
};

#endif // DIALOG_H

dialog.cpp 文章来源地址https://www.toymoban.com/news/detail-759278.html

#include "dialog.h"
#include "ui_dialog.h"

Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);
    timeoutSlot(); // 手动刷新时间显示  小bug为什么一开始是零,零食第八行开始显示的,第一次触发了信号槽零才不显示,什么时候触发了信号槽是调用了start了之后再过一秒钟,所以从零开始到第一次显示间隔了不止一秒钟
    解决方案加个时间刷新再该行
    timer = new QTimer(this);

    // 连接信号槽
    //发射者是定时器 到时间给我发信号 你设置的延迟是1秒道到一秒就发射信号,接收者是窗口,
然后执行槽函数
    connect(timer,SIGNAL(timeout()),this,SLOT(timeoutSlot()));

    timer->setSingleShot(false); // 周期性
    timer->setInterval(1000); // 间隔时间1s
    timer->start(); // 启动

    // 设置组件的数字长度为8
    ui->lcdNumber->setDigitCount(8);
}

void Dialog::timeoutSlot()
{
    // 获取当前时间
    QString time = QDateTime::currentDateTime().toString("hh:mm:ss");
    // 更新组件显示时间
    ui->lcdNumber->display(time);
}

Dialog::~Dialog()
{
    // 如果正在运行
    if(timer->isActive())
        // 停止运行
        timer->stop();
    delete timer;
    delete ui;
}

到了这里,关于第五章 常用类的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Qt5】QString的成员函数trimmed

    2024年1月19日,周五下午 QString 的 trimmed 方法是用于移除字符串两端的空白字符(空格、制表符、换行符等)的方法。它返回一个新的字符串,该字符串是原始字符串去除两端空白后的结果。 下面是一个简单的示例: 在这个示例中,originalString 包含前后有空格的字符串。通过

    2024年01月20日
    浏览(39)
  • 【Qt5】QString的成员函数chop

    2024年1月19日,周五下午 QString 的 chop 方法用于从字符串的末尾移除指定数量的字符。这个方法会修改原始字符串,并返回 void。 下面是一个简单的示例: 在这个示例中,originalString 包含字符串 \\\"Chop me!\\\"。通过调用 chop(2) 方法,从字符串的末尾移除了两个字符,修改了原始字符

    2024年01月20日
    浏览(45)
  • 第五章 常用类

    QString 是Qt中的 字符串类 ,QString使用 Unicode编码 。 C和C++使用的ASCII编码中,一个字符是8位的char,但是在Qt中因为使用的时候QString,因此字符串中的每个字符是一个16位的QChar, 完美支持中文。 QString可以通过下面的函数完成与数字之间的转换。 QString QString::number(int n, int b

    2024年02月04日
    浏览(19)
  • 【Qt之QString】去除“字符“或替换“字符“小技巧

    去除字符 在Qt中,可以使用以下函数来去除字符串中的字符。 QString remove(int i, int len) :删除字符串中从索引位置 i 开始长度为 len 的字符。 QString remove(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) :删除字符串中所有与字符 c 相匹配的字符。 cs 参数指定是否区分大小写,默认为

    2024年02月07日
    浏览(35)
  • 【Qt】QString怎么判断是否含有某个字符串

    2023年10月29日,周日晚上 QString怎么判断是否含有某一字符串? 比如我想知道QString中是否含有\\\"connectToHost error\\\" 要判断一个 QString 是否包含特定的子字符串,可以使用  QString  类的  contains()  方法。 下面是使用  contains()  方法来判断一个 QString 是否包含特定子字符串的示例

    2024年02月06日
    浏览(80)
  • C++-QT-QString -CString -string 互转

    网上常用的函数在环境(VS2022  ATL包含QT库的项目)中转换不了。 std::string str = qstr.toStdString(); //不行 问题:   QString qsrc = \\\"asjdoag\\\"; string sdest; sdest = qsrc.toStdString();  不行   3.1包含目录和库目录 3.2 头文件和库文件 示例代码: https://download.csdn.net/download/aggie4628/88778435  

    2024年01月25日
    浏览(36)
  • 【Qt一坑】const QString 转换 char * 可能的坑

    现在有一个这样的需求,需要将const QString 转换成  char * 而当我这样写时: **这是由于:** str.toStdString().c_str()中toStdString()是一个临时std::string变量,而c_str()是指向这个临时std::string变量的字符串地址,所以传给c时这个临时std::string变量已经被析构,其内容是空,c_str()自然就是

    2024年02月16日
    浏览(36)
  • QT Creator上位机学习(三)QString及其相关控件介绍

    QSting类,用于处理字符串,进行字符串和数字之间的转化 转换函数: 1.数字转字符串 其中setNum() 函数和number()函数使用了多个重载定义,可以处理各种类型的整数和浮点数,处理整数的时候还可以指定进制。 例如:数据转化为指定进制的字符串 2.字符串转数字 转换为整数:

    2024年02月11日
    浏览(35)
  • Qt解析含颜色的QString字符串显示到控件

    1、需求 开发接收含颜色字符串显示到窗口,可解析字符串颜色配置窗口属性,且分割字符串显示。 mprintf(“xxxxxx”);打印的xxxxxx含有颜色配置。 2、实现方法 2.1、条件 选用Qt的PlainTextEdit控件显示字符串,配置为只读模式 初始化串口成功后,用下列代码绑定串口信号,收到

    2024年01月25日
    浏览(54)
  • Qt之GB2312\GBK字符与QString转换

    在中国国内与其它数据接口通讯时,经常会遇到GB2312GBK格式的字符,这时需要进行数据格式转换 否则只有ASCII码正常,而其它就是乱码。 在main.c文件下配置UTF-8 QString 为unicode码,转为GBK码 将GB2312/GBK字符串转化为QString

    2024年02月11日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包