在此记录一些Qt里边的小知识点

数据结构

  • int 转Qstring:
    Qstring::number(int value)
  • string 和 Qstring相互转换
    第一种:
QString qstr;
string str;
str = qstr.toStdString();
qstr = QString::fromStdString(str);

但这种,有中文的时候会出现乱码

第二种:

std::string cstr;
QString qstring;
//从std::string 到QString
qstring = QString(QString::fromLocal8Bit(cstr.c_str()));
//从QString 到 std::string
cstr = string((const char *)qstring.toLocal8Bit());
//不需要从gbk转到utf8
QString value_content = QString::fromStdString(vec[i].content);
QString value_classname = QString::fromStdString(vec[i].classname);

这种可以解决乱码问题

有用的技巧

  • 以固定形式显示图片
		cv::Mat src = _src.clone();
        cv::cvtColor(src, src, cv::COLOR_BGR2RGB);
        QImage img = QImage(src.data, src.cols, src.rows, src.step, QImage::Format_RGB888);

        int lb_w = ui->label_src->size().width();
        int lb_h = ui->label_src->size().height();

        QImage result = img.scaled(lb_w, lb_h, Qt::KeepAspectRatio, Qt::SmoothTransformation);//放缩图片,以固定大小显示

        QPixmap mp;
        mp = mp.fromImage(result);
        ui->label_src->setPixmap(mp);
        ui->label_src->setAlignment(Qt::AlignCenter);
        src.release();
Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐