Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π² LinuxΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 188

Автор НСйл ΠœΡΡ‚ΡŒΡŽ

Π”Π°Π»Π΅Π΅ пСрСчислСны конструкторы ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

#include <qlineedit.h>

QLineEdit::QLineEdit(QWidget *parent, const char* name = 0);

QLineEdit::QLineEdit(const QString& contents, QWidget *parent,

 const char *name = 0);

QLineEdit::QLineEdit(const QString& contents, const QString& inputMask,

 QWidget *parent, const char* name = 0);

void setInputMask(const QString& inputMask);

void insert(const QString& newText);

bool isModified(void);

void setMaxLength(int length);

void setReadOnly(bool read);

void setText(const QString &text);

QString text(void);

void setEchoMode(EchoMode mode);

Π’ конструкторах Π²Ρ‹ Π·Π°Π΄Π°Π΅Ρ‚Π΅ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΈ имя Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² parent ΠΈ name.

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ свойство EchoMode, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π΅ способ отобраТСния тСкста Π² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π΅. Оно ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

β–‘ QLineEdit::Normal β€” ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ символы (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ);

β–‘ QLineEdit::Password β€” ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠΈ Π½Π° мСстС символов;

β–‘ QLineEdit::NoEcho β€” Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ. ЗадаСтся Ρ€Π΅ΠΆΠΈΠΌ отобраТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° setEchoMode:

lineEdit->setEchoMode(QLineEdit::Password);

Π£ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠ΅, внСсСнноС Π² Π²Π΅Ρ€ΡΠΈΡŽ Qt 3.2, β€” свойство inputMask, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π΅ Π²Π²ΠΎΠ΄ Π² соотвСтствии с ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΠΌ маски.

inputMask β€” это строка, сформированная ΠΈΠ· символов, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… соотвСтствуСт ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π΅ΠΌΡƒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… символов. Если Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с рСгулярными выраТСниями, inputMask ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Ρ‚ΠΎΡ‚ ΠΆΠ΅ самый ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ.

Π•ΡΡ‚ΡŒ Π΄Π²Π° сорта символов, Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… inputMask: ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ присутствия ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ символа, Π²Ρ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ символа Π΄ΠΎΠ±ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΅Π³ΠΎ соотвСтствия Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ. Π’ Ρ‚Π°Π±Π». 17.1 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ‚Π°ΠΊΠΈΡ… символов ΠΈ ΠΈΡ… значСния.


Π’Π°Π±Π»ΠΈΡ†Π° 17.1

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ символ Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹, Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ A a Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ ASCII А–Z, а–z N n Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ ASCII A–Z, a–z, 0–9 X x Π›ΡŽΠ±ΠΎΠΉ символ 9 0 Π¦ΠΈΡ„Ρ€Ρ‹ 0–9 D d Π¦ΠΈΡ„Ρ€Ρ‹ 1–9

Наша inputMask β€” это строка, сформированная ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ этих символов ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰Π°ΡΡΡ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с запятой. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ значСния (Ρ‚Π°Π±Π». 17.2).


Π’Π°Π±Π»ΠΈΡ†Π° 17.2

Π‘ΠΈΠΌΠ²ΠΎΠ» Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ # Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½, Π½ΠΎ Π½Π΅ обязатСлСн Π·Π½Π°ΠΊ +/- > ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ всС ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ символы Π² символы Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ рСгистра. < ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ всС ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ символы Π² символы Π½ΠΈΠΆΠ½Π΅Π³ΠΎ рСгистра ! ΠžΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ рСгистра \ Π‘ΠΈΠΌΠ²ΠΎΠ» ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для примСнСния ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… символов Π² качСствС Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ

ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ символы Π² inputMask Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΠΊΠ°ΠΊ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ Π² ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° QLineEdit.

Π’ Ρ‚Π°Π±Π». 17.3 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ масок Π²Π²ΠΎΠ΄Π° ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΈΠΌ тСкст для Π²Π²ΠΎΠ΄Π°.


Π’Π°Π±Π»ΠΈΡ†Π° 17.3

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Допустимый Π²Π²ΠΎΠ΄ "AAAAAA-999D" Допустимо Athens-2004, Π½ΠΎ Π½Π΅ Sydney-2000 ΠΈΠ»ΠΈ Atlanta-1996 "ААААnn-99-99;" Допустимо March-03-12, Π½ΠΎ Π½Π΅ ΠœΠ°Ρƒ-03-12 ΠΈΠ»ΠΈ September-03-12 "000.000.000.000" Допустим IP-адрСс, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 192.168.0.1

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅ 17.4.

Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅ 17.4. Π’ΠΈΠ΄ΠΆΠ΅Ρ‚ QLineEdit

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ, ΠΊΠ°ΠΊ дСйствуСт Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ QLineEdit.

1. Π‘Π½Π°Ρ‡Π°Π»Π° β€” Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» LineEdit.h:

#include <qmainwindow.h>

#include <qlineedit.h>

#include <qstring.h>


class LineEdit : public QMainWindow {

 Q_OBJECT

public:

 LineEdit(QWidget *parent = 0, const char *name = 0);

 QLineEdit *password_entry;

private slots:

 void Clicked();

};

2. LineEdit.cpp β€” ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ класса:

#include "LineEdit.moc"

#include <qpushbutton.h>

#include <qapplication.h>

#include <qlabel.h>

#include <qlayout.h>

#include <iostream>


LineEdit::LineEdit(QWidget *parent, const char *name) :

 QMainWindow(parent, name) {

 QWidget *widget = new QWidget(this);

 setCentralWidget(widget);

3. Π”ля ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ QGridLayout. Π—Π°Π΄Π°ΠΉΡ‚Π΅ число строк ΠΈ столбцов, Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ отступов ΠΈ расстояния ΠΌΠ΅ΠΆΠ΄Ρƒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°ΠΌΠΈ:

 QGridLayout *grid = new QGridLayout(widget, 3, 2, 10, 10, "grid");

 QLineEdit *username_entry = new QLineEdit(widget, "username_entry");

 password_entry = new QLineEdit(widget, "password_entry");

 password_entry->setEchoMode(QLineEdit::Password);

 grid->addWidget(new QLabel("Username", widget, "userlabel"), 0, 0, 0);

 grid->addwidget(new QLabel("Password", widget, "passwordlabel"), 1, 0, 0);

 grid->addWidget(username_entry, 0, 1, 0);

 grid->addWidget(password_entry, 1, 1, 0);

 QPushButton *button = new QPushButton("Ok", widget, "button");

 grid->addWidget(button, 2, 1, Qt::AlignRight);

 resize(350, 200);

 connect(button, SIGNAL(clicked()), this, SLOT(Clicked()));

}


void LineEdit::Clicked(void) {

 std::cout << password_entry->text() << "\n";

}


int main(int argc, char **argv) {

 QApplication app(argc, argv);

 LineEdit *window = new LineEdit();

 app.setMainWidget(window);

 window->show();

 return app.exec();

}

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π½Π° рис. 17.5.

Рис. 17.5


Как это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

Π’Ρ‹ создали Π΄Π²Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° QLineEdit, ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΈ для Π²Π²ΠΎΠ΄Π° пароля, Π·Π°Π΄Π°Π² EchoMode, ΠΈ заставили Π΅Π³ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ содСрТимоС ΠΏΡ€ΠΈ Ρ‰Π΅Π»Ρ‡ΠΊΠ΅ ΠΌΡ‹ΡˆΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ PushButton. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ QGridLayout, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½ для размСщСния Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ сСткС. Когда Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ вставляСтся Π² сСтку Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ строки ΠΈ столбца, нумСрация начинаСтся с 0, Π½ΡƒΠ»Π΅Π²Ρ‹Π΅ Π½ΠΎΠΌΠ΅Ρ€Π° строки ΠΈ столбца Ρƒ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ Π»Π΅Π²ΠΎΠΉ ячСйки.

Кнопки Qt

Кнопки Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² вСздСсущи ΠΈ ΠΌΠ°Π»ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ внСшним Π²ΠΈΠ΄ΠΎΠΌ, способом примСнСния ΠΈ API Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π°Ρ… инструмСнтов. ΠΠ΅ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Qt ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ стандартныС ΠΊΠ½ΠΎΠΏΠΊΠΈ PushButton, Ρ„Π»Π°ΠΆΠΊΠΈ CheckBox ΠΈ Ρ€Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠΈ (ΠΈΠ»ΠΈ зависимыС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ) RadioButton.

QButton: Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс ΠΊΠ½ΠΎΠΏΠΎΠΊ

ВсС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ Qt β€” ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΈ абстрактного класса QButton. Π£ этого класса Π΅ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для опроса ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ/Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ состояния ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ задания тСкста ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈΠ»ΠΈ Π΅Π΅ графичСского прСдставлСния.

Π’Π°ΠΌ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ придСтся ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Ρ‚ΠΈΠΏΠ° QButton (Π½Π΅ ΠΏΡƒΡ‚Π°ΠΉΡ‚Π΅ с Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠΌ QPushButton!), поэтому Π½Π΅Ρ‚ смысла ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ конструкторы. Π”Π°Π»Π΅Π΅ пСрСчислСно нСсколько ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ-ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² этого класса:

#include <qbutton.h>

virtual void QButton::setText(const QString&);

virtual void QButton::setPixmap(const QPixmap&);

bool QButton::isToggleButton() const;

virtual void QButton::setDown(bool);

bool QButton::isDown() const;

bool QButton::isOn() const;

enum QButton::ToggleState { Off, NoChange, On }

ToggleState QButton::state() const;

Π£ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ isDown ΠΈ isOn ΠΎΠ΄Π½ΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ОбС ΠΎΠ½ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ TRUE, Ссли ΠΊΠ½ΠΎΠΏΠΊΠ° Π±Ρ‹Π»Π° Π½Π°ΠΆΠ°Ρ‚Π° ΠΈΠ»ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π°.

Часто Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ сСрым Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Ссли ΠΎΠ½ нСдоступСн Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ нСдоступным любой Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ QButton, ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° QWidget::setEnable(FALSE).

Π£ QButton Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ подкласса, Π·Π°ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ внимания:

β–‘ QPushButton β€” Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ простой ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ дСйствиС ΠΏΡ€ΠΈ Ρ‰Π΅Π»Ρ‡ΠΊΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ;

β–‘ QCheckBox β€” Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΠΈ, способный ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ состояниС с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ΅ для обозначСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹Π±ΠΎΡ€Π°;

β–‘ QRadioButton β€” Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ примСняСмый Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ Ρ‚Π°ΠΊΠΈΡ… ΠΆΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½Π° Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

QPushButton

QPushButton β€” стандартная ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΎΠ±Ρ‰Π΅Π³ΠΎ Π²ΠΈΠ΄Π°, содСрТащая тСкст, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ "OK" ΠΈΠ»ΠΈ "Cancel" ΠΈ/ΠΈΠ»ΠΈ ΠΏΠΈΠΊΡΠ΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Как всС ΠΊΠ½ΠΎΠΏΠΊΠΈ класса QButton, ΠΎΠ½Π° ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·Π°Ρ†ΠΈΠΈ сигнал clicked ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для связи со слотом ΠΈ выполнСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ дСйствия.