Тут можно читать онлайн книгу Мэтью Нейл - Основы программирования в Linux - бесплатно полную версию (целиком). Жанр книги: Программирование. Вы можете прочесть полную версию (весь текст) онлайн без регистрации и смс на сайте Lib-King.Ru (Либ-Кинг) или прочитать краткое содержание, аннотацию (предисловие), описание и ознакомиться с отзывами (комментариями) о произведении.
Основы программирования в Linux - описание и краткое содержание, автор Мэтью Нейл, читать бесплатно онлайн на сайте электронной библиотеки Lib-King.Ru.
В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стандартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов
Основы программирования в Linux - читать книгу онлайн бесплатно, автор Мэтью Нейл
QPushButton* button = new QPushButton("Ok", widget, "button"); vbox->addWidget(button); resize(350, 200); connect(button, SIGNAL(clicked()), this, SLOT(Clicked()));}5. Затем приведен удобный метод для вывода состояния заданной кнопки
QButtonvoid Buttons::PrintActive(QButton *button) { if (button->isOn()) std::cout << button->name() << " is checked\n"; else std::cout" << button->name() << " is not checked\n";}void Buttons::Clicked(void) { PrintActive(checkbox); PrintActive(radiobutton1); PrintActive(radiobutton2); std::cout << "\n";}int main(int argc, char **argv) { QApplication app(argc, argv); Buttons *window = new Buttons(); app.setMainWidget(window); window->show(); return app.exec();}Как это работает
Этот простой пример показывает, как опрашивать виджеты кнопок Qt разных типов. После создания все они по большей части действуют одинаково. Например, функция
PrintActiveQButtonGroupQComboBox
Переключатели (радиокнопки) — отличный способ, позволяющий пользователю выбрать из небольшого числа вариантов, скажем шести или меньше. Если вариантов больше шести, ситуация начинает выходить из-под контроля и становится еще более напряженной, когда количество вариантов растет, что приводит к ощутимому увеличению размера окна. В этом случае прекрасным решением может быть использование поля ввода с раскрывающимся меню, также называемое раскрывающимся списком (combo box). Варианты выводятся, когда вы щелкаете кнопкой мыши и открываете меню и количество вариантов при этом ограничено только удобством поиска в списке.
В виджете
QComboBoxQLineEditQPushButtonQComboBoxПри создании виджета
QComboBoxQComboBox *combo = new QComboBox(TRUE, parent, "widgetname");Передача значения
TRUEQComboBoxКак все виджеты Qt,
QComboBoxВы можете добавлять варианты по одному или набором, как тип
QStringchar*Для вставки одного варианта вызовите функцию
insertItemcombo->insertItem(QString("An Item"), 1);Приведенная функция принимает объект типа
QStringДля добавления в конец списка задайте любое отрицательное целое число.
Гораздо чаще вы будете вставлять несколько элементов списка одновременно, для этого можно применить класс
QStrListchar*char* weather[] = {"Thunder", "Lightning", "Rain", 0};combo->insertStrList(weather, 3);И снова вы можете задать номер позиции вставляемых в список элементов.
Если в виджете
QComboBoxМетод
InsertionPolicyТаблица 17.4
| Значение | Действие |
|---|---|
QComboBox::AtTop | Вставляет вводимый в список элемент первым |
QComboBox::AtBottom | Вставляет вводимый в список элемент последним |
QComboBox::AtCurrent | Заменяет предварительно выбранный вариант в списке |
QComboBox::BeforeCurrent | Вставляет вводимый элемент перед предварительно выбранным вариантом из списка |
QComboBox::AfterCurrent | Вставляет вводимый элемент после предварительно выбранного варианта из списка |
QComboBox::NoInsertion | Новый элемент не вставляется в список вариантов |