Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
 Аватар для Rexer
167 / 166 / 46
Регистрация: 10.10.2010
Сообщений: 725

Нажатие на лист дерева

13.02.2014, 20:33. Показов 1042. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создал QtListWidget, добавил туда вручную несколько узлов, к ним еще несколько подузлов.
Python
1
2
3
4
5
6
for name in names:
            item = QtWidgets.QTreeWidgetItem([name])
            self.treeWidget.addTopLevelItem(item)
            for cmd in description:
                item2 = QtWidgets.QTreeWidgetItem([cmd])
                item.addChild(item2)
Также у меня есть еще QTextEdit, хочу сделать так, чтобы по нажатию на подузел туда писался текст какой-нибудь.
Надо создать слот и связать его с нажатием, но как это сделать я не очень понимаю..
Python
1
2
3
4
5
6
7
8
9
10
for name in names:
            item = QtWidgets.QTreeWidgetItem([name])
            self.treeWidget.addTopLevelItem(item)
            for cmd in description:
                item2 = QtWidgets.QTreeWidgetItem([cmd])
                item.addChild(item2)
                self.item2.clicked.connect(self.itemClicked)
def itemClicked(self):
        #insert text, example
        self.textEdit.insertPlainText("fuck")
Но так неправильно, прошу вас объяснить как сделать правильно это.
Заранее благодарен.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.02.2014, 20:33
Ответы с готовыми решениями:

нарисовать лист дерева
помогите нарисовать лист дерева(любого) P.S у самого не получается это сделать вообще

лист, падающий с дерева
нарисовать в паскале лист, падающий с дерева

Удалить максимальный лист дерева
ПОМОГИТЕ!

6
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
14.02.2014, 08:46
А модели вы используете? Не видно по коду.
Вообще такие вещи цивильно делаются через модели.
1
 Аватар для Rexer
167 / 166 / 46
Регистрация: 10.10.2010
Сообщений: 725
14.02.2014, 14:06  [ТС]
Нет, не использую
я вручную пока заполняю дерево
подскажите как реализовать нажатие именно на item2?
например у меня дерево

-first
--1
--2
--3
-second
--4
--5
--6

я нажимаю на 1, у меня выводится справа в textEdit 1, нажимаю на 2 - выводится 2.
Как вот это реализовать?
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
14.02.2014, 14:16
Если без модели - то не знаю, я только с моделью делал.
Python
1
2
        self.ui.model_tree.setModel(self.proxy_model)  # was 'model'
        self.ui.model_tree.selectionModel().selectionChanged.connect(self.on_model_select)
где self.ui.model_tree - это вьюха (ModelTreeView или как его там), proxy_model - модель, наследник QStandardItemModel. Вам прокси необязательно.
1
 Аватар для Rexer
167 / 166 / 46
Регистрация: 10.10.2010
Сообщений: 725
14.02.2014, 14:33  [ТС]
не совсем то, что надо..

Добавлено через 4 минуты
надо использовать itemClicked как то, но вот как блин я еще не разобрался
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
14.02.2014, 14:41
Это то, просто с моделью.
Вся ваша логика лежит в модели, вьюха занимается отображением, и делает это автоматически.
Думаю, оно того стоит. Не нужно бороться с Qt, нужно принять его таким, какой он есть
0
 Аватар для Rexer
167 / 166 / 46
Регистрация: 10.10.2010
Сообщений: 725
14.02.2014, 14:50  [ТС]
Python
1
 self.treeWidget.itemClicked.connect(self.item2Clicked)
как именно проверить, что я кликаю на подузел, а не на все подряд?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.02.2014, 14:50
Помогаю со студенческими работами здесь

При нажатие кнопку все данные добавить на лист
Привет уважаемые, Как мне сделать так чтобы при нажатие кнопку все данные были добавлены на вторую вкладку. Очень прошу, помагите

Получить лист дерева по двоичному представлению пути к нему
Хочу создать функцию которая, получив код элемента в дереве, вернёт на него ссылку. Способ кодирования: перебираем двоичное...

Создание BST-дерева методом вставки в лист (нерекурсивная реализация)
Можете подсказать ,как создать BST-дерево методом вставки в лист(не рекурсивная реализация),количество элементов должно вводится с...

Создание BST-дерева методом вставки в лист (рекурсивная реализация)
Доброго времени суток, дали задачу: Создание BST-дерева методом вставки в лист(рекурсивная реализация). Не рекурсивная функция печати...

TreeView нажатие на элементе дерева с появлением PopupMenu, Как это сделать?
Здравствуйте господа. Подскажите пожалуйста как правильно организовать что бы при нажатии на элементе дерева правой кнопкой - элемент...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru