![]() |
|
![]() ![]() ![]() |
|
xAndeRx |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 3.3.2015 Репутация: нет Всего: нет |
Доброй ночи всем.
У меня такая задача, построить дерево, из последовательности чисел. Закономерность разделения на узлах не важна, это на усмотрение. Меня интересует сейчас другое. Я новичок в плане QT, использую QT Creator. Нашел виджет TreeWidget, подходящий под мою задачу, но не могу разобраться как с ним справиться. То есть, как в него занести определенную последовательность чисел и разбить на узлы дерева. Подкиньте кто простенький пример, как занести в этот виджет данные и уже от этого я смогу отталкиваться, чтобы разобраться в этом. Буду очень благодарен. ![]() Это сообщение отредактировал(а) xAndeRx - 3.3.2015, 23:44 |
|||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 23 Всего: 72 |
Примеры есть в самом Qt. Поищите QTreeWidget в каталоге примеров.
Еще можно в редакторе форм заполнить QTreeWidget своими данными, откомпилировать и посмотреть на код сгенрированный в ui_mainwindow.h. |
|||
|
||||
xAndeRx |
|
||||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 3.3.2015 Репутация: нет Всего: нет |
Создал через редактор, как вы посоветовали, понял что и к чему написано в коде ниже. Но тут же возник вопрос, как мне вручную прописывать это?(а не через редактор). То есть, чтобы была программа которая, после введения чисел раскидывала бы их в эти колонки? Мне же это нужно писать в MainWindow.cpp.
|
||||
|
|||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 23 Всего: 72 |
При компиляции по mainform.ui, приведённому вами, генерируется ui_mainwindow.h .
Встаньте на строчку #include "ui_mainwindow.h" в mainform.cpp и нажмите F2. Код, подобный сгенерированному, вам нужно создавать вручную. setupUi создает виджеты, retranslateUi создает строки с учетом возможности переключения языка, но не учитывает, что содержмиое treeWidget пожет поменяться при работе программы. Вам это деление делать необязательно, все можно сделать в конструкторе MainWindow. Русские буквы в генерированном коде будут заменены на такие - "\320\236\321\202\320\272\321\200\321\213\321\202\321\214" ("Открыть"), поэтому для исследования лучше вводить текст на английском. |
|||
|
||||
Amp |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: 7 Всего: 17 |
Можно же проще, в дизайнере выбрать "Форма" -> "Показать код"
|
|||
|
||||
xAndeRx |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 3.3.2015 Репутация: нет Всего: нет |
Немного продвинулся и уже создал некое дерево из элементов. Выстроенных по правилу:
1)Вершина - минимальный элемент (и сортировка идет чем ниже дерево, тем больше значение элемента. 2)Потом деление на четные и нечетные 3)И все полученные цифры сгруппировать, если они одинаковые.(то есть, если есть три экземпляра числа "10" то 1-ое число сделать узлом и в его child остальные 2 засунуть. Так вот с 3-им пунктом проблемка... Не пойму как при встрече одинаковых элементов(у меня массив отсортирован, то есть все одинаковые идут подряд), запихнуть последующие в child первого. Мой вариант:
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |