Программирование | Отладка | Web-технологии | Microsoft Office | Теор.информатика | Рсслед-Рµ операций | Операц. СЃРёСЃ-РјС‹ | Новости |
Проектирование РРЎ | РСЃСЃРє. РёРЅС‚-С‚ | Трансляторы | РћР± авторах | Карта сайта | РџРѕРёСЃРє |
Язык программирования Turbo Pascal |
Среда программирования Delphi 6 |
Язык программирования C++ |
Язык программирования C# |
Язык программирования Assembler |
Язык программирования Go |
Язык программирования Haskell |
Язык программирования Java |
Язык программирования Kotlin |
Язык программирования LISP |
Язык программирования Prolog |
Язык программирования Python |
Параллельные алгоритмы |
Сети Петри |
Начала |
Отладчик Turbo Debugger |
РћСЃРЅРѕРІС‹ HTML |
Технология Flash |
Язык программирования Perl |
Основы языка PHP |
РћСЃРЅРѕРІС‹ PhotoShop |
РћСЃРЅРѕРІС‹ JavaScript |
РћСЃРЅРѕРІС‹ CSS |
РћСЃРЅРѕРІС‹ CorelDRAW |
Библиотека jQuery |
Текстовый процессор Microsoft Word |
Рлектронные таблицы Microsoft Excel |
Система управления базами данных Microsoft Access |
Рспользование VBA РІ Microsoft Excel |
Место информатики в системе наук |
Общие сведения об информации |
Кодирование информации в теории Шеннона |
Основные понятия теории алгоритмов |
Классические формализации понятия 'алгоритм' |
Понятие рекурсии |
Сложность алгоритма |
Методы разработки алгоритмов |
Сложность задачи |
Рнформационное моделирование |
Основные понятия теории графов |
Алгоритмы поиска на графах |
Матроиды. 'Жадные' алгоритмы |
Динамическое программирование |
Алгоритмы |
UNIX Рё Linux |
Унифицированный язык моделирования UML |
Введение в машинное обучение с использованием Python |
Основы создания нейросети на Python |
Глубокое обучение на Python |
Начала |
Динамические структуры данных |
Библиотека RX |
Основные классы и события Delphi |
Основные компоненты Delphi |
Организация потоков |
Технология COM |
Язык программирования Object Pascal |
Локальные БД в Delphi |
Библиотека OWL |
Библиотека Qt |
Библиотека STL |
Библиотека шаблонов классов Borland |
Основы компьютерной графики |
Динамические структуры данных |
Начала |
Обработка исключительных ситуаций |
Оптимизация с помощью ассемблера |
Основы объектно-ориентированного программирования |
Потоки ввода-вывода |
Разное |
Редактор Resource Workshop |
Среда Visual C++ |
Программирование в Microsoft Visual C++ 2010 |
Технология CUDA |
Технология OLE |
Начала |
16-битное программирование |
32-битное программирование |
Основы логического программирования |
Динамические структуры данных |
Visual Prolog |
Библиотека PyQt5 |
Библиотека Tkinter |
Визуализация данных |
Начала |
Задачи ComputerScience |
Рекурсия |
Вкладка RXControls |
Вкладка RXDBAware |
Вкладка RXTools |
Вкладка Standard |
Вкладка Additional |
Создание Internet-приложений |
Вкладка System |
Вкладка Win32 |
Вкладка Servers |
Технология ADO |
Вкладка QReport |
Вкладка InterBase |
Вкладка Dialogs |
Начала |
Среда программирования. Язык С/С++ |
На этом шаге мы рассмотрим назначение, формат конструктора, пример и основные методы класса QTreeView.
Класс QTreeView реализует иерархический список (рисунок 1). Иерархия наследования:
(QObject, QPaintDevice) - QWidget - QFrame - QAbstractScrollArea - QAbstractItemView - QTreeView
Рис.1. Компонент QTreeView
Текст приложения:
# -*- coding: utf-8 -*- from PyQt5 import QtWidgets, QtGui import sys app = QtWidgets.QApplication(sys.argv) window = QtWidgets.QWidget() window.setWindowTitle("QTreeView") tv = QtWidgets.QTreeView() sti = QtGui.QStandardItemModel(parent = window) rootitem1 = QtGui.QStandardItem('QAbstractItemView') rootitem2 = QtGui.QStandardItem('Базовый класс') item1 = QtGui.QStandardItem('QListView') item2 = QtGui.QStandardItem('Список') rootitem1.appendRow([item1, item2]) item1 = QtGui.QStandardItem('QTableView') item2 = QtGui.QStandardItem('Таблица') rootitem1.appendRow([item1, item2]) item1 = QtGui.QStandardItem('QTreeView') item2 = QtGui.QStandardItem('Иерархический список') rootitem1.appendRow([item1, item2]) sti.appendRow([rootitem1, rootitem2]) rootitem1 = QtGui.QStandardItem('QAbstractItemModel') rootitem2 = QtGui.QStandardItem('Базовый класс') item1 = QtGui.QStandardItem('QStandardItemModel') item2 = QtGui.QStandardItem('Основная модель') rootitem1.appendRow([item1, item2]) sti.appendRow([rootitem1, rootitem2]) sti.setHorizontalHeaderLabels(['Класс', 'Описание']) tv.setModel(sti) tv.setColumnWidth(0, 170) vbox = QtWidgets.QVBoxLayout() vbox.addWidget(tv) window.setLayout(vbox) window.resize(350,200) window.show() sys.exit(app.exec_())
Формат конструктора класса QTreeView:
<Объект> = QTreeView([parent=<Родитель>]
Класс QTreeView наследует все методы и сигналы класса QAbstractItemView (см. 146 шаг) и дополнительно поддерживает следующие методы (здесь приведены только основные - за полным их списком обращайтесь к странице https://doc.qt.io/qt-5/qtreeview.html):
На следующем шаге мы закончим изучение этого вопроса.