Portál AbcLinuxu, 10. května 2025 08:09

Dotaz: Qt 4.5 - nastavení pozice v QListView a QDirModel

18.1.2010 21:56 volvox | skóre: 16
Qt 4.5 - nastavení pozice v QListView a QDirModel
Přečteno: 310×
Odpovědět | Admin
Dobrý den,

začal jsem experimentovat s Qt, a přestože se snažím prokousávat dokumentací, narazil jsem na pár záseků.

Zde je první z nich: pomocí QDirModel jsem zobrazil adresář v QListView, v něm označil položku (podadresář) a cestu k němu (filePath) si uložil do konfigurace aplikace. Bohužel jsem už ale nepřišel na to, jak po opětovném spuštění aplikace tuto položku vybrat/označit v původním QListView (nebo v QDirModel)?
// model
backgroundsModel = new QDirModel(this);
backgroundsModel->setFilter(QDir::Dirs | QDir::NoDotAndDotDot | QDir::Readable);
BackgroundFileIconProvider *provider = new BackgroundFileIconProvider();
backgroundsModel->setIconProvider(provider);

// QListView je vytvořen v Qt Designeru
ui->backgroundListView->setModel(backgroundsModel);
ui->backgroundListView->setRootIndex(backgroundsModel->index("/cesta"));

QString path = settings->value("backgroundPath");

// a co teď s path???
Hádám, že je to naprosto triviální záležitost - já se s tím mořím už pár hodin (ale alespoň jsem nastudoval dalších XX tříd ;)

Díky za nasměrování.

Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Vojta Drbohlav avatar 18.1.2010 23:35 Vojta Drbohlav | skóre: 26 | blog: Blog | Strahov
Rozbalit Rozbalit vše Re: Qt 4.5 - nastavení pozice v QListView a QDirModel
Odpovědět | | Sbalit | Link | Blokovat | Admin
Použij funkce QDirModel::index a QAbstractItemView::setCurrentIndex nějak takto:
QString path = settings->value("backgroundPath");
QModelIndex index = backgroundsModel->index(path);
if(index.isValid())
    ui->backgroundListView->setCurrentIndex(index);
19.1.2010 17:13 volvox | skóre: 16
Rozbalit Rozbalit vše Re: Qt 4.5 - nastavení pozice v QListView a QDirModel
Super, díky. Nechápu, jak jsem to mohl přehlídnout, zaregistroval jsem pouze
QModelIndex QDirModel::index ( int row, int column, const QModelIndex & parent = QModelIndex() ) const
a tahle funkce mi nějak unikla.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.