crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
Лёшка
  опции профиля:
сообщение 23.4.2010, 10:01
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 26.3.2010
Из: Ставрополь
Пользователь №: 1569

Спасибо сказали: 0 раз(а)




Репутация:   0  


Подскажите как можно в QTreeView сделать так чтобы отображение каталогов было на пример как тотал командере
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 23.4.2010, 10:07
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Посмотри исходники проекта PantherCommander
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Лёшка
  опции профиля:
сообщение 23.4.2010, 10:51
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 26.3.2010
Из: Ставрополь
Пользователь №: 1569

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 23.4.2010, 11:07) *
Посмотри исходники проекта PantherCommander

Простите за наглость... но нельзя ли поточнее в каком разделе можно найти то что нужно мне
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 23.4.2010, 11:41
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


в смысле разделе?
Я дал ссылку на git-хранилище, если щёлкнишь "Source tree" , то можно либо в браузере исходники посмотреть, либо в боковой панели щёлкнуть "Download master as tar.gz", чтобы скачать исходник в виде архива.

А в каких файлах смотреть я не знаю
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Лёшка
  опции профиля:
сообщение 23.4.2010, 12:27
Сообщение #5


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 26.3.2010
Из: Ставрополь
Пользователь №: 1569

Спасибо сказали: 0 раз(а)




Репутация:   0  


Спасибо, где взять разобрался :) теперь буду искать где решение моего вопроса
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DIMEDROLL
  опции профиля:
сообщение 23.4.2010, 13:09
Сообщение #6


Участник
**

Группа: Участник
Сообщений: 165
Регистрация: 28.9.2008
Из: Киев
Пользователь №: 304

Спасибо сказали: 23 раз(а)




Репутация:   0  


я когда то так делал:
// set TreeView properties
     setRootIsDecorated(false);
     setSelectionBehavior(QAbstractItemView::SelectRows);
     setSelectionMode(QAbstractItemView::NoSelection);

     setEditTriggers(NoEditTriggers);
     setAllColumnsShowFocus(true);
     setSortingEnabled(true);

     // set header properties
     header()->setStretchLastSection(true);
     header()->setSortIndicator(0, Qt::AscendingOrder);
     header()->setSortIndicatorShown(true);
     header()->setClickable(true);
     //header()->resizeSection(0, 300);
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Авварон
  опции профиля:
сообщение 25.4.2010, 0:30
Сообщение #7


Студент
*

Группа: Участник
Сообщений: 99
Регистрация: 26.4.2009
Пользователь №: 709

Спасибо сказали: 14 раз(а)




Репутация:   0  


в пантер коммандере своя модель (табличная)
в чем проблема использовать не тривью, а тейбл вью?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Лёшка
  опции профиля:
сообщение 26.4.2010, 9:06
Сообщение #8


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 26.3.2010
Из: Ставрополь
Пользователь №: 1569

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Авварон @ 25.4.2010, 1:30) *
в пантер коммандере своя модель (табличная)
в чем проблема использовать не тривью, а тейбл вью?

За табличный виев че то не сообразил :unknown:
А за тот способ спасибо, вечером попробую :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Лёшка
  опции профиля:
сообщение 26.4.2010, 12:03
Сообщение #9


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 26.3.2010
Из: Ставрополь
Пользователь №: 1569

Спасибо сказали: 0 раз(а)




Репутация:   0  


Авварон, а с табл виевом ты работал? Как?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Лёшка
  опции профиля:
сообщение 27.4.2010, 10:38
Сообщение #10


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 26.3.2010
Из: Ставрополь
Пользователь №: 1569

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(DIMEDROLL @ 23.4.2010, 14:09) *
я когда то так делал:
// set TreeView properties
     setRootIsDecorated(false);
     setSelectionBehavior(QAbstractItemView::SelectRows);
     setSelectionMode(QAbstractItemView::NoSelection);

     setEditTriggers(NoEditTriggers);
     setAllColumnsShowFocus(true);
     setSortingEnabled(true);

     // set header properties
     header()->setStretchLastSection(true);
     header()->setSortIndicator(0, Qt::AscendingOrder);
     header()->setSortIndicatorShown(true);
     header()->setClickable(true);
     //header()->resizeSection(0, 300);

Я попробовал так сделать, диски отобразились без дерева, но когда открываешь диск каталоги имеющиеся в нем все равно отображаются в виде дерева
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DIMEDROLL
  опции профиля:
сообщение 27.4.2010, 12:24
Сообщение #11


Участник
**

Группа: Участник
Сообщений: 165
Регистрация: 28.9.2008
Из: Киев
Пользователь №: 304

Спасибо сказали: 23 раз(а)




Репутация:   0  


непонял, покажи фотку
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Лёшка
  опции профиля:
сообщение 27.4.2010, 12:44
Сообщение #12


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 26.3.2010
Из: Ставрополь
Пользователь №: 1569

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(DIMEDROLL @ 27.4.2010, 13:24) *
непонял, покажи фотку

вот сисок дисков
 Р В Р’ Р’ Р’ Р в‚¬Р В РЎВ˜Р В Р’µР Р…ьшено Р Т‘Р С• 16%
Прикрепленное изображение
315 x 421 (8.72 килобайт)

а это после открытия диска
 Р В Р’ Р’ Р’ Р в‚¬Р В РЎВ˜Р В Р’µР Р…ьшено Р Т‘Р С• 21%
Прикрепленное изображение
336 x 487 (17.6 килобайт)

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DIMEDROLL
  опции профиля:
сообщение 27.4.2010, 12:54
Сообщение #13


Участник
**

Группа: Участник
Сообщений: 165
Регистрация: 28.9.2008
Из: Киев
Пользователь №: 304

Спасибо сказали: 23 раз(а)




Репутация:   0  


что бы не было плюсиков нужно использовать
void    setItemsExpandable ( bool enable )

что бы было как в тотале нужно связать дабл-клик(и\или Ввод) с функцией
QModelIndex QFileSystemModel::setRootPath ( const QString & newPath )

например: что бы при нажатии Ввод на диске D вызвалась setRootPath("D:\\")
идея ясна?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Лёшка
  опции профиля:
сообщение 27.4.2010, 13:26
Сообщение #14


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 26.3.2010
Из: Ставрополь
Пользователь №: 1569

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(DIMEDROLL @ 27.4.2010, 13:54) *
что бы не было плюсиков нужно использовать
void    setItemsExpandable ( bool enable )

что бы было как в тотале нужно связать дабл-клик(и\или Ввод) с функцией
QModelIndex QFileSystemModel::setRootPath ( const QString & newPath )

например: что бы при нажатии Ввод на диске D вызвалась setRootPath("D:\\")
идея ясна?

Идею вроде уловил. Буду пробовать. О результате отпишусь завтра.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Лёшка
  опции профиля:
сообщение 29.4.2010, 8:54
Сообщение #15


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 26.3.2010
Из: Ставрополь
Пользователь №: 1569

Спасибо сказали: 0 раз(а)




Репутация:   0  


DIMEDROLL, я тебя правильно понял, сделать надо было так:

CODE

void MainWindow::on_treeRigth_doubleClicked(QModelIndex index)
{
QFileSystemModel *mod = new QFileSystemModel;
mod->setRootPath("I:\\");
ui->treeRigth->setModel(mod);

}


если да, то чего то здесь не хватает, потому что так как надо не работает :unknown:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DIMEDROLL
  опции профиля:
сообщение 29.4.2010, 9:10
Сообщение #16


Участник
**

Группа: Участник
Сообщений: 165
Регистрация: 28.9.2008
Из: Киев
Пользователь №: 304

Спасибо сказали: 23 раз(а)




Репутация:   0  


Цитата(Лёшка @ 29.4.2010, 8:54) *
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.5.2010, 10:30
Сообщение #17


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 26.3.2010
Из: Ставрополь
Пользователь №: 1569

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(DIMEDROLL @ 29.4.2010, 10:10) *
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,
думаю что неправильно, т.к не заработало :(
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 4.5.2010, 10:55
Сообщение #18


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Лёшка @ 4.5.2010, 14:30) *
Как нужно создавать слот 'my_treeview_double_click_handler(QModelIndex)', я делал так
посмотри здесь
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Лёшка
  опции профиля:
сообщение 4.5.2010, 13:15
Сообщение #19


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 26.3.2010
Из: Ставрополь
Пользователь №: 1569

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 4.5.2010, 11:55) *
Цитата(Лёшка @ 4.5.2010, 14:30) *
Как нужно создавать слот 'my_treeview_double_click_handler(QModelIndex)', я делал так
посмотри здесь

читал я эту документацию мало помогло, наверно надо еще почитать на эту тему.
Не подскажете где можно глянуть.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 4.5.2010, 15:40
Сообщение #20


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Лёшка @ 4.5.2010, 17:15) *
читал я эту документацию мало помогло, наверно надо еще почитать на эту тему.
а что не помогло?
Не знаю, что можно ещё почитать на эту тему сверх того, что в официальной документации написано. Ну, может старое учебное пособие поможет.
(в Уроке 7 - Влияние одного объекта на другие, собственный слот создаётся)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 24.5.2025, 5:07