Основы программирования в Linux
Основы программирования в Linux читать книгу онлайн
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
QPushButton* button = new QPushButton("Ok", widget, "button");
vbox->addWidget(button);
resize(350, 200);
connect(button, SIGNAL(clicked()), this, SLOT(Clicked()));
}
5. Затем приведен удобный метод для вывода состояния заданной кнопки
QButton
void Buttons::PrintActive(QButton *button) {
if (button->isOn())
std::cout << button->name() << " is checkedn";
else
std::cout" << button->name() << " is not checkedn";
}
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 разных типов. После создания все они по большей части действуют одинаково. Например, функция
PrintActive
QButtonGroup
QComboBox
Переключатели (радиокнопки) — отличный способ, позволяющий пользователю выбрать из небольшого числа вариантов, скажем шести или меньше. Если вариантов больше шести, ситуация начинает выходить из-под контроля и становится еще более напряженной, когда количество вариантов растет, что приводит к ощутимому увеличению размера окна. В этом случае прекрасным решением может быть использование поля ввода с раскрывающимся меню, также называемое раскрывающимся списком (combo box). Варианты выводятся, когда вы щелкаете кнопкой мыши и открываете меню и количество вариантов при этом ограничено только удобством поиска в списке.
В виджете
QComboBox
QLineEdit
QPushButton
QComboBox
При создании виджета
QComboBox
QComboBox *combo = new QComboBox(TRUE, parent, "widgetname");
Передача значения
TRUE
QComboBox
Как все виджеты Qt,
QComboBox
Вы можете добавлять варианты по одному или набором, как тип
QString
char*
Для вставки одного варианта вызовите функцию
insertItem
combo->insertItem(QString("An Item"), 1);
Приведенная функция принимает объект типа
QString
Для добавления в конец списка задайте любое отрицательное целое число.
Гораздо чаще вы будете вставлять несколько элементов списка одновременно, для этого можно применить класс
QStrList
char*
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 | Новый элемент не вставляется в список вариантов |