Основы программирования в Linux
Основы программирования в Linux читать книгу онлайн
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
<b>#include <qcheckbox.h></b>
<b>QCheckBox(QWidget *parent, const char *name = 0);</b>
<b>QCheckBox(const QString& text, QWidget *parent, const char *name = 0);</b>
<b>bool QCheckBox::isChecked();</b>
<b>void QCheckBox::setTristate(bool y = TRUE);</b>
<b>bool QCheckBox::isTristate();</b>
Радиокнопки — кнопки-переключатели, применяемые для отображения исключающего выбора, когда можно выбрать только один вариант из группы представленных (вспомните снова старые автомобильные радиоприемники, в которых можно было нажать только одну кнопку блока). Сами по себе кнопки
QRadioButton
QCheckBox
QButtonGroup
QButtonGroup
<b>#include <qbuttongroup.h></b>
<b>QButtonGroup(QWidget *parent = 0, const char* name = 0);</b>
<b>QButtonGroup(const QString& title, QWidget* parent = 0,</b>
<b> const char * name = 0);</b>
<b>int insert (QButton *button, int id = -1);</b>
<b>void remove(QButton *button);</b>
<b>int id(QButton *button) const;</b>
<b>int count() const;</b>
<b>int selectedId() const;</b>
Применять виджет
QButtonGroup
title
Добавить кнопку в
QButtonGroup
insert
QButtonGroup
id
insert
selectedId
id
Все кнопки
QRadioButton
Далее приведены прототипы конструкторов
QRadioButton
<b>#include <qradiobutton.h></b>
<b>QRadioButton(QWidget* parent, const char* name = 0);</b>
<b>QRadioButton(const QString& text, QWidget *parent, const char *name = 0);</b>
<b>bool QRadioButton::isChecked();</b>
Выполните упражнение 17.5.
QButton
Теперь применим полученные знания в примере с кнопками Qt. Приведенная далее программа создает кнопки разных типов (радиокнопки, флажки и простые кнопки), чтобы показать, как использовать эти виджеты в ваших приложениях.
1. Введите файл Buttons.h:
#include <qmainwindow.h>
#include <qcheckbox.h>
#include <qbutton.h>
#include <qradiobutton.h>
class Buttons : public CMainWindow {
Q_OBJECT
public:
Buttons(QWidget *parent = 0, const char *name = 0);
2. Вы запросите состояние ваших кнопок позже, в функции слота, поэтому объявите указатели кнопок и вспомогательную функцию
PrintActive
private:
void PrintActive(QButton *button);
QCheckBox *checkbox;
QRadioButton *radiobutton1, *radiobutton2;
private slots:
void Clicked();
}
3. Далее следует файл Buttons.срр:
#include "Buttons.moc"
#include <qbuttongroup.h>
#include <qpushbutton.h>
#include <qapplication.h>
#include <qlabel.h>
#include <qlayout.h>
#include <iostream>
Buttons::Buttons(QWidget *parent, const char *name) :
QMainWindow(parent, name) {
QWidget* widget = new QWidget(this);
setCentralWidget(widget);
QVBoxLayout *vbox = new QVBoxLayout(widget, 5, 10, "vbox");
checkbox = new QCheckBox("CheckButton", widget, "check");
vbox->addWidget(checkbox);
4. Затем вы создаете
QButtonGroup
QButtonGroup *buttongroup = new QButtonGroup(0);
radiobutton1 = new QRadioButton("RadioButton1", widget, "radio1");
buttongroup->insert(radiobutton1);
vbox->addWidget(radiobutton1);
radiobutton2 = new QRadioButton("RadioButton2", widget, "radio2");
buttongroup->insert(radiobutton2);
vbox->addWidget(radiobutton2);