Russian Qt Forum
Ноябрь 24, 2024, 20:00 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: SQLite + QTreeView простым способом ?  (Прочитано 2424 раз)
Javaca
Гость
« : Апрель 24, 2012, 16:22 »

Есть таблица в SQLite - tree, имеющая структуру такую же как в приведенном MySQL примере ниже.

Код:
CREATE TABLE IF NOT EXISTS `tree` (
 `id` int(100) NOT NULL AUTO_INCREMENT,
 `parent_id` int(100) NOT NULL,
 `title` varchar(100) NOT NULL,
 PRIMARY KEY (`id`)
) TYPE=MyISAM DEFAULT CHARSET=UTF-8 AUTO_INCREMENT=11 ;
 
INSERT INTO `tree` (`id`, `parent_id`, `title`) VALUES
(1, 0, 'первый'),
(2, 0, 'второй'),
(3, 0, 'третий'),
(4, 2, 'во втором'),
(5, 2, 'во втором1'),
(6, 2, 'во втором2'),
(7, 2, 'во втором3'),
(8, 3, 'подпункт'),
(9, 6, 'подпункт2'),
(10, 6, 'подпункт3');

Чтобы построить дерево в php - это делается так:

Код:
$result=mysql_query("SELECT id, parent_id, title FROM tree");
$cats = array();
while($cat =  mysql_fetch_assoc($result))
        $cats[$cat['parent_id']][] =  $cat;
 
function  build_tree($cats,$parent_id){
if(is_array($cats) and count($cats[$parent_id])>0){
$tree = '<ul>';
 foreach($cats[$parent_id] as $cat){
  $tree .= '<li>'.$cat['title'];
 $tree .=  build_tree($cats,$cat['id']);
  $tree .= '</li>';         
 }
 $tree .= '</ul>';
  }
  else return null;         
  return $tree;
}
echo build_tree($cats,0);

Как сделать в Qt тоже самое используя SQLite, QStandardItemModel и QTreeView максимально простым способом как в приведенном php примере? Помогите пожалуйста, в Инете не смог найти, а то что нашел - это просто чудовищно громадно.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.058 секунд. Запросов: 21.