Тут можно читать онлайн книгу Мэтью Нейл - Основы программирования в Linux - бесплатно полную версию (целиком). Жанр книги: Программирование. Вы можете прочесть полную версию (весь текст) онлайн без регистрации и смс на сайте Lib-King.Ru (Либ-Кинг) или прочитать краткое содержание, аннотацию (предисловие), описание и ознакомиться с отзывами (комментариями) о произведении.
Основы программирования в Linux - описание и краткое содержание, автор Мэтью Нейл, читать бесплатно онлайн на сайте электронной библиотеки Lib-King.Ru.
В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стандартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов
Основы программирования в Linux - читать книгу онлайн бесплатно, автор Мэтью Нейл
QListView
Списки и деревья в комплекте Qt формируются виджетом
QListViewВ отличие от виджета GTK+
ListViewQListViewВ виджете
QListViewQCheckBoxСоздается виджет
QListViewQListView *view = new QListView(parent, "name");Для задания заголовков столбцов используйте соответствующим образом названный метод
addColumnview->addColumn("Left Column", width1); // фиксированной шириныview->addColumn("Right Column"); // с автоматически задаваемым размеромШирина столбца задается в пикселах или, если пропущена, приравнивается к величине самого длинного элемента в столбце. В дальнейшем при вставке и удалении элементов ширина столбца автоматически меняется.
Данные вставляются в
QListViewQListViewItemQListViewQListViewItem *toplevel = new QListViewItem(view, "Left Data", "Right Data");Первый параметр — либо объект
QListViewQListViewItemQListViewItemQListViewItemQListViewQListViewItemОстальные параметры — данные каждого столбца, по умолчанию равные
NULLДобавление дочернего узла — это просто вариант передачи в функцию указателя верхнего уровня. Если вы не добавляете последующие дочерние узлы в объект
QListViewItemnew QListViewItem(toplevel, "Left Data", "Right Data");// Дочерний по отношению к верхнему уровнюВ API
QListViewItem<b>#include <qlistview.h></b><b>virtual void insertItem(QListviewitem* newChild);</b><b>virtual void setText(int column, const QString& text);</b><b>virtual QString text(int column) const;</b><b>QListViewItem* firstChild() const;</b><b>QListViewItem* nextSibling() const;</b><b>QListViewItem* parent() const;</b><b>QListViewItem* itemAbove();</b><b>QListViewItem *itemBelow();</b>Получить первую строку в дереве можно, вызвав метод
firstChildQListViewfirstChildnextSiblingПриведенный далее фрагмент программного кода выводит первый столбец всех узлов верхнего уровня:
QListViewItem *child = view->firstChild();while(child) { cout << myChild->text(1) << "\n"; myChild = myChild->nextSibling();}Все подробности, касающиеся
QListViewQListViewItemQCheckListViewВыполните упражнение 17.7.
QListViewВ этом упражнении вы соберете все вместе и напишете короткий пример использования виджета QListView.
Давайте для краткости пропустим заголовочный файл и рассмотрим реализацию класса, файл ListView.cpp.
#include "Listview.moc"ListView::ListView(QWidget *parent, const char *name) : QMainWindow(parent, name) { listview = new QListView(this, "listview1"); listview->addColumn("Artist"); listview->addColumn("Title"); listview->addColumn("Catalogue"); listview->setRootIsDecorated(TRUE); QListViewItem* toplevel = new QListViewItem(listview, "Avril Lavigne", "Let Go", "AVCD01"); new QListViewItem(toplevel, "Complicated"); new QListViewItem(toplevel, "Sk8er Boi"); setCentralWidget(listview);}int main(int argc, char **argv) { QApplication app(argc, argv);