- 通过label显示QImage类型和cv::Mat Image类型
ui.label->setPixmap(QPixmap::fromImage(qimg));//显示Qimage
Qt 通过labe显示mat类型的Image,需要先将Mat Image转换成QImage格式
cv.cvtColor(cvImg, cvImg, CV_BGR2RGB); QImage qimg = QImage((const unsigned char*)(cvImg.data), cvImg.cols, cvImg.rows, cvImg.cols * cvImg.channels(), QImage::Format_RGB888);
- QT中的控件按钮执行两遍的问题:
即使是在Vs下使用QtTools工具创建Qt的模板工程时,在为对象名为 A 的按钮创建槽函数名为 on_A_clicked() 时,就不需要再在继承于MainWindow/Widget等的构造函数中写connect()函数了!否则槽函数 on_A_clicked 会执行两遍!
解决方式有两种:
1)不写connect函数,让QT自己匹配 A 和 on_A_clicked();
2)写connect函数,将槽函数的名改变!除 on_A_clicked() 的任意形式;
- QT的按钮RadioButton
RadioButton放到界面中,如果使用GroupBox进行包含的话,里面的RadioButton会变成单选,选中A Radio 的话 B Radio就会变成未选中状态,但是千万注意,要将Radio Button放入GroupBox中,且GroupBox是位于Radio的下面一层的,否则将会导致Radio不可被选中的问题;
另外可以根据ui.Radio->isChecked() 来进行判断选中的是哪个按钮,返回值类型为Bool类型。