Original em: Implementing QTreeView in QComboBox using Qt for Symbian- Part 1
| ID | ... | Creation date | July 12, 2009 |
| Platform | S60 3rd Edition, FP1, FP2 S60 5th Edition | Tested on devices | Emulator |
| Category | Qt for S60 | Subcategory | UI |
| Keywords (APIs, classes, methods, functions): QComboBox,QTreeView,QFileSystemModel |
Aqui está o trecho de código para a árvore de visualização (treView) implementada em um comboBox. Nele seu modelo de objeto de arquivos foi definido no comboBox(ui->comboBox->setModel(fsmodel);). Nós podemos navegar em diferentes diretórios apenas abrindo o comboBox e selecionando o item.
QFileSystemModel *fsmodel = new QFileSystemModel(this);
fsmodel->setRootPath("/");
setStyleSheet("* { background-color:rgb(90,20,60);color:rgb(255,255,255); padding: 7px}}");
QTreeView *tv = new QTreeView(ui->comboBox);
ui->comboBox->setStyleSheet("* { background-color:rgb(225,225,225);color:rgb(255,255,255); padding: 7px}}");
ui->comboBox->setView(tv);
ui->comboBox->setModel(fsmodel);
O trecho de código fornecido está completamente funcional mas existe um problema relacionado ao popup do comboBox. Ao clicar para expandir a árvore a comboBox fecha, deste modo nós não podemos selecionar o item pretendido na árvore de diretório de uma vez, aumentando o número de cliques para selecionar o item pretendido.
Para a solução do problema acima acesse: Implementando uma TreeView em um QComboBox usando Qt para Symbian- Parte 2