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

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

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

<b>#include &lt;qcheckbox.h&gt;</b>

<b>QCheckBox(QWidget *parent, const char *name = 0);</b>

<b>QCheckBox(const QString&amp; 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

Π Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠΈ β€” ΠΊΠ½ΠΎΠΏΠΊΠΈ-ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ, примСняСмыС для отобраТСния ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π²Ρ‹Π±ΠΎΡ€Π°, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈΠ· Π³Ρ€ΡƒΠΏΠΏΡ‹ прСдставлСнных (вспомнитС снова старыС Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π΄ΠΈΠΎΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π±Π»ΠΎΠΊΠ°). Π‘Π°ΠΌΠΈ ΠΏΠΎ сСбС ΠΊΠ½ΠΎΠΏΠΊΠΈ

QRadioButton
Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ ΠΊΠ½ΠΎΠΏΠΎΠΊ
QCheckBox
, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ классом
QButtonGroup
, Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΆΠ΅ ΠΈΡ… ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π° Π½Π΅ ΠΊΠ°ΠΊ Ρ„Π»Π°ΠΆΠΊΠΈ.

QButtonGroup
β€” Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰ΠΈΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π³Ρ€ΡƒΠΏΠΏ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π·Π° счСт прСдоставлСния ΡƒΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

<b>#include &lt;qbuttongroup.h&gt;</b>

<b>QButtonGroup(QWidget *parent = 0, const char* name = 0);</b>

<b>QButtonGroup(const QString&amp; 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 &lt;qradiobutton.h&gt;</b>

<b>QRadioButton(QWidget* parent, const char* name = 0);</b>

<b>QRadioButton(const QString&amp; text, QWidget *parent, const char *name = 0);</b>

<b>bool QRadioButton::isChecked();</b>

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

Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅ 17.5. Π’ΠΈΠ΄ΠΆΠ΅Ρ‚
QButton

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ знания Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ с ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ Qt. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π΄Π°Π»Π΅Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° создаСт ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² (Ρ€Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠΈ, Ρ„Π»Π°ΠΆΠΊΠΈ ΠΈ простыС ΠΊΠ½ΠΎΠΏΠΊΠΈ), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π² Π²Π°ΡˆΠΈΡ… прилоТСниях.

1.Β Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» Buttons.h:

#include &lt;qmainwindow.h&gt;

#include &lt;qcheckbox.h&gt;

#include &lt;qbutton.h&gt;

#include &lt;qradiobutton.h&gt;

class Buttons : public CMainWindow {

Β Q_OBJECT

public:

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

2.Β Π’Ρ‹ запроситС состояниС Π²Π°ΡˆΠΈΡ… ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠΎΠ·ΠΆΠ΅, Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ слота, поэтому ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ

PrintActive
с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ private Π² объявлСнии класса:

private:

Β void PrintActive(QButton *button);

Β QCheckBox *checkbox;

Β QRadioButton *radiobutton1, *radiobutton2;

private slots:

Β void Clicked();

}

3.Β Π”Π°Π»Π΅Π΅ слСдуСт Ρ„Π°ΠΉΠ» Buttons.срр:

#include &quot;Buttons.moc&quot;

#include &lt;qbuttongroup.h&gt;

#include &lt;qpushbutton.h&gt;

#include &lt;qapplication.h&gt;

#include &lt;qlabel.h&gt;

#include &lt;qlayout.h&gt;

#include &lt;iostream&gt;

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

Β QMainWindow(parent, name) {

Β QWidget* widget = new QWidget(this);

Β setCentralWidget(widget);

Β QVBoxLayout *vbox = new QVBoxLayout(widget, 5, 10, &quot;vbox&quot;);

Β checkbox = new QCheckBox(&quot;CheckButton&quot;, widget, &quot;check&quot;);

Β vbox-&gt;addWidget(checkbox);

4.Β Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ создаСтС

QButtonGroup
для Π΄Π²ΡƒΡ… Π²Π°ΡˆΠΈΡ… Ρ€Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΎΠΊ (ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ).

Β QButtonGroup *buttongroup = new QButtonGroup(0);

Β radiobutton1 = new QRadioButton(&quot;RadioButton1&quot;, widget, &quot;radio1&quot;);

Β buttongroup-&gt;insert(radiobutton1);

Β vbox-&gt;addWidget(radiobutton1);

Β radiobutton2 = new QRadioButton(&quot;RadioButton2&quot;, widget, &quot;radio2&quot;);

Β buttongroup-&gt;insert(radiobutton2);

Β vbox-&gt;addWidget(radiobutton2);