Qt小技巧
·
在此记录一些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();
更多推荐

所有评论(0)