gpt4 book ai didi

c++ - 在 Qt Creator Designer 中用自定义模板小部件替换小部件

转载 作者:太空宇宙 更新时间:2023-11-04 13:20:10 26 4
gpt4 key购买 nike

在 Qt Creator UI Designer 中,可以用其子类替换小部件。我创建了 QComboBox 的模板子类:

template <typename T>
class MappedComboBox : public QComboBox
{
// ...
};

而且我已经成功地替换了 QComboBoxMappedComboBox<int> .但是替换 QComboBox小部件,例如 MappedComboBox<QSerialPort::BaudRate>

这样构建时由于依赖错误而失败

'QSerialPort' was not declared in this scope.

Qt Designer screenshot

当然,摆脱它们的一种方法是包含 QSerialPortmappedcombobox.h然而,这不是一种非常优雅的方式。我能否以某种方式告诉 Qt Designer 在生成 UI 时包含其他文件?

最佳答案

在 UI 设计器中,无法包含额外的 header 。更好的解决方法是在包含生成的 header 之前将其包含在设计器类的 cpp 文件中。这比包含在与该 header 无关的 MappedComboBox 中要好。

在 mainwindow.cpp 中:

#include "mainwindow.h"
#include <QSerialPort>
#include "ui_mainwindow.h"

关于c++ - 在 Qt Creator Designer 中用自定义模板小部件替换小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35672055/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com