Qt函數: QComboBox使用技巧

這次例子依據Qt入門篇(3):連結SQLITE資料庫進行範例說明.由於主要對QComboBox的函數進行功能說明,因此這次就不上傳程式碼的GitHub,有興趣的人可以下載Qt Sqlite的範例後,進行以下的練習.
  1. 讓QComboBox增加提示訊息(Placeholder text)?

  2. 圖一. 增加提示訊息

    如圖一所示,有一次我需要在QComboBox增加提示訊息,即告知使用者此下拉式選單主要增加什麼內容,那時我先用以下的程式碼的解決,然而它有很大缺點就是讓使用者可任意添加QComboBox的內容,然而圖一的例子其實不需要使用者增加新縣市,因此若要使用者選擇你指定的內容,我不建議使用此方法.
    QLineEdit *placeholder=new QLineEdit;
    placeholder->setPlaceholderText(QStringLiteral("請選擇縣市"));
    ui->comboBox->setLineEdit(placeholder);
    

  3. 使用者在QComboBox輸入內容,列出可能的選項?

  4. 圖二. 列出可選的項目

    若要提示使用者知道可選的項目,你可以使用以下的程式碼.雖然它提供使用者類似搜尋功能,但是由於QComboBox可編輯,因此與1有相同的問題.
    QCompleter *com=new QCompleter(cityname);
    com->setCaseSensitivity(Qt::CaseSensitive);
    ui->comboBox->setEditable(true);
    ui->comboBox->setCompleter(com);
    

延伸閱讀:
1. Qt入門篇(3):連結SQLITE資料

http://chenglearning.blogspot.tw/2013/11/qt3sqlite.html

留言

這個網誌中的熱門文章

VirtualBox教學:重設硬碟(.vdi)大小(上)

VirtualBox教學:重設硬碟(.vdi)大小(下)

VirtualBox教學: 新增Windows7虛擬電腦(下)