[英]Replacing widget with custom template widget in Qt Creator Designer
在Qt Creator UI設計器中,可以用其子類替換小部件。 我創建了QComboBox
的模板子類:
template <typename T>
class MappedComboBox : public QComboBox
{
// ...
};
而且我已經成功地用MappedComboBox<int>
替換了QComboBox
。 但是,例如,使用MappedComboBox<QSerialPort::BaudRate>
替換QComboBox
小部件時,由於進行類似構建時的依賴項錯誤而失敗
未在此范圍內聲明“ QSerialPort”。
當然,擺脫它們的一種方法是將QSerialPort
包含在mappedcombobox.h
但這不是一種非常優雅的方法。 我可以以某種方式告訴Qt Designer在生成UI時包括其他文件嗎?
在UI設計器中,無法包含額外的標題。 更好的解決方法是在包含生成的標頭之前將其包含在設計器類的cpp文件中。 這比將MappedComboBox包含在該標頭中沒有任何關系要好。
在mainwindow.cpp中:
#include "mainwindow.h"
#include <QSerialPort>
#include "ui_mainwindow.h"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.