Russian Qt Forum
Февраль 10, 2012, 16:20
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
(Модератор:
Sergeich
) >
QTreeWidget
Страниц:
1
[
2
]
3
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: QTreeWidget (Прочитано 2772 раз)
crossly
phpBB Житель матрицы
Offline
Сообщений: 1277
Re: QTreeWidget
«
Ответ #15 :
Август 20, 2010, 14:08 »
Цитата: kadr от Август 20, 2010, 13:27
Согласен, QTreeView покруче будет, но мне не нравиться у него вид, как его можно изменить и вообще можно ли это? Мне нужно что бы не ввиде дерева была, а ввиде подробного списка.
послушайте... вы перед тем как постить документацию читать пробовали... ?? по вопросу... setRootIsDecorated(false)
Записан
нет препятствий патриотам... нет преград энтузиастам...
kadr
Частый гость
Offline
Сообщений: 223
Linux FOREVER!!!
Re: QTreeWidget
«
Ответ #16 :
Август 20, 2010, 15:28 »
Цитата: crossly от Август 20, 2010, 14:08
Цитата: kadr от Август 20, 2010, 13:27
Согласен, QTreeView покруче будет, но мне не нравиться у него вид, как его можно изменить и вообще можно ли это? Мне нужно что бы не ввиде дерева была, а ввиде подробного списка.
послушайте... вы перед тем как постить документацию читать пробовали... ?? по вопросу... setRootIsDecorated(false)
Да спасибо, я уже нашел как сделать.
Помоги разобраться с этим куском кода, почему то при выполнении его возникает ошибка и приложение закрывается.
Код:
if (event->type() == QEvent::KeyPress)
{
//QDir dir;
QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
QFileSystemModel *model = new QFileSystemModel;
if (keyEvent->key()==Qt::Key_Return)
{
if(model->fileInfo(ui->left_pole->currentIndex()).isFile())
{
return false;
}
else
{
left_pole_update(ui->left_pole->currentIndex());
}
}
}
Код:
ASSERT: "index.model() == q" in file dialogs\qfilesystemmodel.cpp, line 1270
Invalid parameter passed to C runtime function.
Invalid parameter passed to C runtime function.
«
Последнее редактирование: Август 20, 2010, 15:31 от kadr
»
Записан
Желание - это тысяча возможностей, а не желание - это тысяча причин!
crossly
phpBB Житель матрицы
Offline
Сообщений: 1277
Re: QTreeWidget
«
Ответ #17 :
Август 20, 2010, 16:02 »
что вы пытаетесь сделать объясните...
PS: что касается кода... он заработает только при оч удачном расположении звезд на небе....
«
Последнее редактирование: Август 20, 2010, 16:05 от crossly
»
Записан
нет препятствий патриотам... нет преград энтузиастам...
kadr
Частый гость
Offline
Сообщений: 223
Linux FOREVER!!!
Re: QTreeWidget
«
Ответ #18 :
Август 22, 2010, 14:51 »
я отлавливаю нажатие кнопки enter и затем проверяю, является ли текущая строка, а точнее содержимое текущего итема, папкой или файлом, если файл, то выйте из функции, иначе зайти в текущую директорию.
Код:
bool MainWindow::eventFilter(QObject *obj, QEvent *event)
{
if (event->type() == QEvent::KeyPress)
{
//QDir dir;
QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
QFileSystemModel *model = new QFileSystemModel;
if (keyEvent->key()==Qt::Key_Return)
{
if(model->fileInfo(ui->left_pole->currentIndex()).isFile())
{
return false;
}
else
{
left_pole_update(ui->left_pole->currentIndex());
}
}
}
return QMainWindow::eventFilter(obj, event);
}
«
Последнее редактирование: Август 22, 2010, 14:55 от kadr
»
Записан
Желание - это тысяча возможностей, а не желание - это тысяча причин!
crossly
phpBB Житель матрицы
Offline
Сообщений: 1277
Re: QTreeWidget
«
Ответ #19 :
Август 22, 2010, 15:01 »
во первых .... вы создаете в фильтре новую модель... которая абсолютно никакого отношения к вашей модели и вью не имеет.... я так полагаю это и есть источник сегфолта... во вторых не проще ли воспользоваться сигналом activated... и в третьих... воспользоваться все же моим советом и начать читать документацию...
Записан
нет препятствий патриотам... нет преград энтузиастам...
kadr
Частый гость
Offline
Сообщений: 223
Linux FOREVER!!!
Re: QTreeWidget
«
Ответ #20 :
Август 22, 2010, 16:08 »
Цитата: crossly от Август 22, 2010, 15:01
во первых .... вы создаете в фильтре новую модель... которая абсолютно никакого отношения к вашей модели и вью не имеет.... я так полагаю это и есть источник сегфолта... во вторых не проще ли воспользоваться сигналом activated... и в третьих... воспользоваться все же моим советом и начать читать документацию...
Хорошо, спасибо за совет!
Записан
Желание - это тысяча возможностей, а не желание - это тысяча причин!
kadr
Частый гость
Offline
Сообщений: 223
Linux FOREVER!!!
Re: QTreeWidget
«
Ответ #21 :
Август 23, 2010, 15:04 »
Я так и не услышал ответ на вопрос- как мне определить, как из 2 QTreeView в данный момент активен, поясняю:
Есть 2 TreeView, перход между ними осуществляется табом и кликом мыши, так же есть кнопка при нажатии на которую должно происходить следующее, берется полный путь текущей записи, в моем случае это текстовый файл, и открывается в блокноте.Так то все работет, но файл открывается постоянно один и тотже из первого TreeView-а. Как мне определить в каком TreeView-е сейчас находиться курсор?
Код:
QItemSelectionModel *selectionModel = view->selectionModel();
QModelIndexList indexes = selectionModel->selectedIndexes(); // или selectedRows
foreach(QModelIndex index, indexes) {
qDebug() << model->filePath(index); // печатаем выделенные файлы
}
selectionModel->clear();
QModelIndex index = model->index("/"); // индекс корня в линупсе
selectionModel->select(index); // выделен рут
Этот код не катит, он показывает какие строки выбраны в определеном TreeView-е, а мне надо другое!
Записан
Желание - это тысяча возможностей, а не желание - это тысяча причин!
crossly
phpBB Житель матрицы
Offline
Сообщений: 1277
Re: QTreeWidget
«
Ответ #22 :
Август 23, 2010, 15:06 »
hasFocus()
Записан
нет препятствий патриотам... нет преград энтузиастам...
Авварон
phpBB Neo
Offline
Сообщений: 1778
Re: QTreeWidget
«
Ответ #23 :
Август 23, 2010, 15:12 »
QApplication::focusWidget
Записан
kadr
Частый гость
Offline
Сообщений: 223
Linux FOREVER!!!
Re: QTreeWidget
«
Ответ #24 :
Август 23, 2010, 15:44 »
Цитата: crossly от Август 23, 2010, 15:06
hasFocus()
Вот спасибо!
Записан
Желание - это тысяча возможностей, а не желание - это тысяча причин!
crossly
phpBB Житель матрицы
Offline
Сообщений: 1277
Re: QTreeWidget
«
Ответ #25 :
Август 23, 2010, 16:19 »
и опять же... документация...
Записан
нет препятствий патриотам... нет преград энтузиастам...
kadr
Частый гость
Offline
Сообщений: 223
Linux FOREVER!!!
Re: QTreeWidget
«
Ответ #26 :
Август 24, 2010, 09:11 »
помогите разобраться, хочу создать новую папку и не пойму что ему надо.
mkdir ( const QModelIndex & parent, const QString & name )
Код:
model_l->mkdir(?,filename);
Я так понял что ему нужно указать родителя, а как указать не пойму.
У меня есть QTreeView - ui->left_pole
QFileSystemModel *model_l;
В справке ничего толком нет, в инете тоже ничего не нашел!
Записан
Желание - это тысяча возможностей, а не желание - это тысяча причин!
crossly
phpBB Житель матрицы
Offline
Сообщений: 1277
Re: QTreeWidget
«
Ответ #27 :
Август 24, 2010, 09:23 »
ну если в справке нету... то нам откуда знать...
)... читайте книги товарисч... я бы на вашем месте начал с c++... потом потиху Бланшета, Шлее
Записан
нет препятствий патриотам... нет преград энтузиастам...
kadr
Частый гость
Offline
Сообщений: 223
Linux FOREVER!!!
Re: QTreeWidget
«
Ответ #28 :
Август 24, 2010, 09:28 »
Спсб!
Записан
Желание - это тысяча возможностей, а не желание - это тысяча причин!
crossly
phpBB Житель матрицы
Offline
Сообщений: 1277
Re: QTreeWidget
«
Ответ #29 :
Август 24, 2010, 09:35 »
ну а вообще если хотите посмотреть на эффект... попробуйте ui->left_pole->currentIndex() или ui->left_pole->currentIndex()->parent() к примеру... желательно их конечно же на валидность проверить...
Записан
нет препятствий патриотам... нет преград энтузиастам...
Страниц:
1
[
2
]
3
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> Печать
=> Интернационализация, локализация
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
=> Архив
===> Программирование
=====> Python
===> Веб программирование
=====> PHP, PERL, CGI
Загружается...