![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Лёшка |
![]()
Сообщение
#1
|
![]() Студент ![]() Группа: Участник Сообщений: 33 Регистрация: 26.3.2010 Из: Ставрополь Пользователь №: 1569 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Подскажите как можно в QTreeView сделать так чтобы отображение каталогов было на пример как тотал командере
|
|
|
![]() |
Лёшка |
![]()
Сообщение
#2
|
![]() Студент ![]() Группа: Участник Сообщений: 33 Регистрация: 26.3.2010 Из: Ставрополь Пользователь №: 1569 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
DIMEDROLL, я тебя правильно понял, сделать надо было так:
CODE void MainWindow::on_treeRigth_doubleClicked(QModelIndex index) { QFileSystemModel *mod = new QFileSystemModel; mod->setRootPath("I:\\"); ui->treeRigth->setModel(mod); } если да, то чего то здесь не хватает, потому что так как надо не работает ![]() |
|
|
DIMEDROLL |
![]()
Сообщение
#3
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 165 Регистрация: 28.9.2008 Из: Киев Пользователь №: 304 Спасибо сказали: 23 раз(а) Репутация: ![]() ![]() ![]() |
CODE void MainWindow::on_treeRigth_doubleClicked(QModelIndex index) { QFileSystemModel *mod = new QFileSystemModel; mod->setRootPath("I:\\"); ui->treeRigth->setModel(mod); } неправильно ты понял ![]() создавать модель нужно не на событие doubleClicked, а в конструкторе формы, тоесть там же где инициализируется ui->treeRigth потом там же connect(ui->treeRigth, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(my_treeview_double_click_handler(QModelIndex))); создаешь слот my_treeview_double_click_handler(QModelIndex) в его реализации получаешь текст QModelIndex'а, это будет имя папки, а потом вызываешь mod->setRootPath("I:\\" + имя_папки); это только для теста, тебе ведь нужно по разным дискам ходить и по разным папкам.. нужно где то хранить текущий RootPath, но это ты уже сам придумай |
|
|
Лёшка |
![]()
Сообщение
#4
|
![]() Студент ![]() Группа: Участник Сообщений: 33 Регистрация: 26.3.2010 Из: Ставрополь Пользователь №: 1569 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
connect(ui->treeRigth, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(my_treeview_double_click_handler(QModelIndex))); создаешь слот my_treeview_double_click_handler(QModelIndex) в его реализации получаешь текст QModelIndex'а, это будет имя папки, а потом вызываешь mod->setRootPath("I:\\" + имя_папки); Я только недавно начал изучать Qt и с сигналами и слотами разобрался плохо. Как нужно создавать слот 'my_treeview_double_click_handler(QModelIndex)', я делал так void my_treeview_double_click_handler(QModelIndex) саздавал его в mainwindow.h, думаю что неправильно, т.к не заработало ![]() |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 3.6.2025, 15:44 |