2016-06-28 9 views
0

QLineEditにプレーンバニラをつけたものQStringListQCompleter私はドロップダウンの外観を変えることができるのだろうか(私は最小のサイズか小さなスクロールバーを持っていたい)。QLineEditのQCompleterスタイルシート

QCompleter

明確化:私はいないコードで、スタイルシートでそれを設定したいです。これまでの私の調査結果の

概要:ここ

  1. かなり良い要約:https://forum.qt.io/topic/26703/solved-stylize-using-css-and-editable-qcombobox-s-completions-list-view/12
  2. 私は QStyledItemDelegateを使用する必要が
  3. QSSセレクタのポップアップに名前を付けるには
  4. 私が試してみましたそれは私のためには機能しませんが、他の人のために働くようです。
+0

http://stackoverflow.com/a/13313676/356726 –

答えて

3

その解決策は、QCompleterpopupによって使用されるQScrollBarのスタイルシートを設定することです。 qssに関する私の知識はほとんどないので、最小サイズを設定できるかどうかは分かりませんが、いつでもverticalScrollBar()を見ることができます。ここで

はQSS道のためにいくつかのコードです:明らか

#include <QAbstractItemView> 
#include <QCompleter> 
#include <QLineEdit> 
#include <QApplication> 

int main(int argc, char *argv[]) 
{ 
    QApplication a(argc, argv); 

    QLineEdit edit; 
    edit.show(); 

    QStringList completionList; 
    for (int a = 0 ; a < 10 ; ++a) { 
     completionList << QString("test%1").arg(a); 
    } 

    QCompleter completer(completionList); 

    edit.setCompleter(&completer); 

    QAbstractItemView *popup = completer.popup(); 

    popup->setStyleSheet("QScrollBar{ width: 50px;}"); 

    return a.exec(); 
} 
+0

that's便利ここで言ったけど、私は 'QStyledItemDelegate'を設定する必要があります私はそれをハードコーディングしないようにしたいと思います。だから私はqssセレクタを見つける必要がありますが、あなたのコードは私に試練のためのいくつかのアイデアを与えてくれました - > upvoted。 –

関連する問題