在QT中创建了一个文本浏览器,但代码行为就像它不存在一样?

时间:2016-03-14 00:31:41

标签: c++ qt

我对QT很新,所以也许这个问题的答案很简单。我今年为我们的飞思卡尔汽车制造了一个终端,这只是一辆自动绕行的汽车。我们使用行扫描相机,为您提供128像素长的数据线,您可以将其细化为白色和#34;或"黑色" (轨道边缘)值。去年,该团队在QT中制作了这个终端,用于修改某些系数,停止电机以及通过蓝牙进行各种操作。文本浏览器用于显示线路摄像机看到的内容。

去年,他们将两台相机组合在一起创建了一张图片,但今年我们正在重新配置它们,并且它们会产生两个不同的轨道图像。当然,我需要制作两个文本浏览器,每个摄像头一个。应该只是复制代码和更改一些名称的情况吗?显然不是。

我使用设计gui将文本浏览器放在窗口中,命名为,并使其设置与其他浏览器匹配。我进入主窗口c文件的代码并在那里调整代码。对于每个对其他浏览器的引用,我确保一个是相同的代码行。当我完成并去构建项目时,它告诉我浏览器不是' UI :: MainWindow的成员,'并指出了ui_mainwindow.h文件。所以我进入那个标题并在那里做了同样的事情。但是当我构建它时,它给了我错误:

... \ ui_mainwindow.h:1363:错误:C2065:' tb_camera_out_close' :未声明的标识符

怎么会这样?似乎没有任何其他文本浏览器的引用,它工作正常。我如何宣布这个?当我放置它时,gui接口是不是已经为我完成了它?

这里是主窗口C文件中的代码:

ui->tb_camera_out->setText(msgs_received[1] + '\n' + ui->tb_camera_out->toPlainText());
ui->tb_camera_out_close->setText(msgs_received[2] + '\n' + ui->tb_camera_out_close->toPlainText());

tb_camera_out是旧的相机代码(我知道toplaintext()部分不起作用,我也试图让文本向下滚动,而不是像你想要的那样向上滚动实际驾驶,但我需要先解决这个主要问题)

这是我添加的标题中的代码:

    tb_camera_out = new QTextBrowser(centralWidget);
    tb_camera_out->setObjectName(QStringLiteral("tb_camera_out"));
    sizePolicy.setHeightForWidth(tb_camera_out->sizePolicy().hasHeightForWidth());
    tb_camera_out->setSizePolicy(sizePolicy);
    tb_camera_out->setMinimumSize(QSize(450, 0));
    tb_camera_out->setMaximumSize(QSize(16777215, 16777215));
    tb_camera_out->setStyleSheet(QLatin1String("background-color: rgb(0, 0, 0);\n" "color: rgb(31, 234, 0);"));

    gridLayout_4->addWidget(tb_camera_out, 1, 0, 1, 5);

    tb_camera_out_close = new QTextBrowser(centralWidget);
    tb_camera_out_close->setObjectName(QStringLiteral("tb_camera_out_close"));
    sizePolicy.setHeightForWidth(tb_camera_out_close->sizePolicy().hasHeightForWidth());
    tb_camera_out_close->setSizePolicy(sizePolicy);
    tb_camera_out_close->setMinimumSize(QSize(450, 0));
    tb_camera_out_close->setMaximumSize(QSize(16777215, 16777215));
    tb_camera_out_close->setStyleSheet(QLatin1String("background-color: rgb(0, 0, 0);\n" "color: rgb(31, 234, 0);"));

同样,旧代码位于顶部,引用了tb_camera_out。我添加的内容与tb_camera_out_close相关联。

1 个答案:

答案 0 :(得分:0)

我似乎已经解决了这个问题。奇怪的是,为了修复出现的错误我不仅要编辑那个标题,而且我必须删除它并运行qmake来恢复它。然后我不得不删除所有过去的版本,以便在我运行它时显示它。