文本标签不是“Ui::Dialog”Qt 的成员
Posted
技术标签:
【中文标题】文本标签不是“Ui::Dialog”Qt 的成员【英文标题】:text label is not a member of 'Ui::Dialog' Qt 【发布时间】:2013-06-05 18:58:23 【问题描述】:我正在尝试在我的 openCV 代码中的标签中放置图像。 opencv 部分运行顺畅。然而,显示 Qimage 被证明是一个问题。我将图像放在标签中。
ui->lblOriginal->setPixmap(QPixmap::fromImage(qimgOriginal));
但是,它告诉我“错误:C2039: 'lblOriginal' : is not a member of 'Ui::Dialog'”
lblOriginal 是我对话框中的一个标签。有什么我想念的吗?这是dialog.cpp中的全部代码:
#include "dialog.h"
#include "ui_dialog.h"
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
ui->setupUi(this);
capWebcam.open(0);
tmrTimer = new QTimer(this);
connect(tmrTimer, SIGNAL(timeout()), this, SLOT(processAndUpdateGUI()));
tmrTimer->start(20);
Dialog::~Dialog()
delete ui;
void Dialog::processAndUpdateGUI()
capWebcam >> matOriginal;
if(matOriginal.empty() == true)return;
cv::cvtColor(matOriginal,matOriginal, CV_BGR2RGB);
QImage qimgOriginal((uchar*)matOriginal.data, matOriginal.cols, matOriginal.rows,matOriginal.step,QImage::Format_RGB888);
ui->lblOriginal->setPixmap(QPixmap::fromImage(qimgOriginal));
下面是我们的xml文件。
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Dialog</class>
<widget class="QDialog" name="Dialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1181</width>
<height>590</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<widget class="QLabel" name="lblOrignal">
<property name="geometry">
<rect>
<x>80</x>
<y>36</y>
<width>640</width>
<height>480</height>
</rect>
</property>
<property name="autoFillBackground">
<bool>true</bool>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources/>
<connections/>
</ui>
【问题讨论】:
你能发布你的 xml ui 文件吗? 我将其添加到问题中 【参考方案1】:实际上,您犯了一个基本错误,在您的 UI 文件中:
<widget class="QLabel" name="lblOrignal">
您尝试引用为:
ui->lblOriginal->setPixmap(QPixmap::fromImage(qimgOriginal));
那么你检查过差异吗?如果不是,lblOrignal 不等于 lblOriginal。
【讨论】:
错别字!!!!非常感谢您注意到这一点。我现在因为自己没有注意到它而感到很傻。 如果编译器说它不存在,那就意味着它不存在;)。如果它解决了您的问题@user2442449,请检查答案。以上是关于文本标签不是“Ui::Dialog”Qt 的成员的主要内容,如果未能解决你的问题,请参考以下文章
jQuery UI Dialog 小部件是不是有 Vanilla JS 替代品[关闭]