1
QLineEdit
のタイプされた単語を含むポップアップ内のすべての項目を表示するカスタムQCompleter
クラスを作成しました。QCompleterポップアップの順序を変更する方法は?
あなたがここに見ることができるように今のところ、すべての項目がアルファベット順に並べています
を私は「DAB」と入力し、他の場合は、ポップアップが最初の提案として「DAB」を表示させたいです項目はアルファベット順に表示されます。
私はこのポップアップ順たい:
- DAB
- 修正可能
- 決定可能
- 分割可能
- 案内可能
- spendable
- を...
これをどのように達成できますか?
これは私が使用しているカスタムQCompleter
クラスです:
コード
class MyCompleter : public QCompleter
{
Q_OBJECT
public:
inline MyCompleter(const QStringList& words, QObject * parent) :
QCompleter(parent), m_list(words), m_model()
{
setModel(&m_model);
}
// Filter
inline void update(QString word)
{
// Include all items that contain "word".
QStringList filtered = m_list.filter(word, caseSensitivity());
m_model.setStringList(filtered);
m_word = word;
complete();
}
inline QString word()
{
return m_word;
}
private:
QStringList m_list;
QStringListModel m_model;
QString m_word;
};
プロキシを使用モデル:
今ではこのようになります。または、希望の順序で自分でコンプリータモデルを記入してください。 –