簡體   English   中英

用Qt Creator設計器中的自定義模板小部件替換小部件

[英]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”。

Qt Designer屏幕截圖

當然,擺脫它們的一種方法是將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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM