Bir QListWidget
(gizli olan) ve bir QLineEdit
bir 10 ad var diyelim. Şimdi Düzenle satırındaki "a" harfini yazıyorsam, "A" harfi ile başlayan liste parçacığındaki tüm bu isimlerin bir listesini görmesi gerekir. Kullanıcı bir fare veya klavye kullanarak seçebilir (çünkü dikey bir kaydırma çubuğu olacaktır). QLineEdit
'un bunu yapabileceğinden emin değilim. Ama bunu başarmak için orada ne olduğunu bilmek isterim.Qt'deki aşağı açılır kelime önerileri nasıl yapılır?
6
A
cevap
18
QLineEdit
ve QComboBox
gibi widget'larda otomatik tamamlama için bir yol sağlayan QCompleter
'u kullanabilirsiniz. Kullanıcı bir kelime yazmaya başladığında, QCompleter
kelimesi, bir sözcük listesine dayanarak kelimeyi tamamlamanın olası yollarını önerir.
Qt belgelerine bir örnek:
QStringList wordList;
wordList << "alpha" << "omega" << "omicron" << "zeta";
QLineEdit *lineEdit = new QLineEdit(this);
QCompleter *completer = new QCompleter(wordList, this);
completer->setCaseSensitivity(Qt::CaseInsensitive);
lineEdit->setCompleter(completer);
Teşekkür Kötü bir deneyin bu verip Hatta elle verilerle 'QCompleter' doldurmak gerekmez geri – Rajeshwar
sonrası, sadece modelini geçirebilmesi 'QListWidget'ınız zaten' QAbstractItemView :: model() 'işlevini çağırarak kullanıyor. – RobbieE
Çok daha basit ve QtProject örneğinden daha çok noktaya. Teşekkürler. – bmahf