Β Β res1, search_text);Β statusBar()->message(statusBar_text);Β i = 0;Β list->clear();8.Β ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ
idQListViewΒ while (i < res1) {Β res2 = get_cd(cd_res->cd_id[i], cd);Β cd_item = new QListViewItem(list, cd->title, cd->artist_name,Β Β cd->catalogue);Β res3 = get_cd_tracks(cd_res->cd_id[i++], &ct);Β Β j = 0;Β /* ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ Π΄ΠΎΡΠΎΠΆΠΊΠ°ΠΌΠΈ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ-Π΄ΠΈΡΠΊΠ° */Β Β while (j < res3) {Β Β sprintf(track_title, " Track %d. ", j+1);Β Β strcat(track_title, ct.track[j++]);Β Β new QListViewItem(cd_item, track_title);Β }Β }}
Π ΠΈΡ. 17.13
9.Β Π‘Π»ΠΎΡ
AddCdaddcd_actionvoid MainWindow::AddCd()Β AddCdDialog* dialog = new AddCdDialog(this);Β dialog->show();}Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° ΡΠΈΡ. 17.13.
AddCdDialog
ΠΠ»Ρ Π²ΡΡΠ°Π²ΠΊΠΈ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ-Π΄ΠΈΡΠΊΠ΅ Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Ρ ΠΏΠΎΠ»ΡΠΌΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
1.Β ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ Π² ΡΠ°ΠΉΠ» AddCdDialog.h. ΠΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ ΠΊΠ»Π°ΡΡ
AddCdDialogKDialogBase#include <kde/kdialogbase.h>#include <qlineedit.h>class AddCdDialog : public KDialogBase {Β Q_OBJECTpublic:Β AddCdDialog(QWidget* parent);private:Β QLineEdit* artist_entry, *title_entry, *catalogue_entry;public slots:Β void okClicked();};2.Β ΠΠ°Π»Π΅Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ°ΠΉΠ» AddCdDialog.cpp, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π² ΡΠ»ΠΎΡΠ΅
okClickedadd_cd#include "AddCdDialog.h"#include "app_mysql.h"#include <qlayout.h>#include <qlabel.h>AddCdDialog::AddCdDialog(QWidget* parent)Β : KDialogBase(parent, "AddCD", false, "Add CD",Β KDialogBase::Ok | KDialogBase::Cancel, KDialogBase::Ok, true) {Β QWidget *widget = new QWidget(this);Β setMainWidget(widget);Β QGridLayout *grid = new QGridLayout(widget, 3, 2, 10, 5, "grid");Β grid->addWidget(new QLabel("Artist", widget, "artistlabel"), 0, 0, 0);Β grid->addWidget(new QLabel("Title", widget, "titlelabel"), 1, 0, 0);Β grid->addwidget(new QLabel("Catalogue", widget, "cataloguelabel"), 2, 0, 0);Β artist_entry = new QLineEdit(widget, "artist_entry");Β title_entry = new QLineEdit(widget, "titleentry");Β catalogue_entry = new QLineEdit(widget, "catalogue_entry");Β grid->addWidget(artist_entry, 0, 1, 0);Β grid->addWidget(title_entry, 1, 1, 0);Β grid->addWidget(catalogue_entry, 2, 1, 0);Β connect(this, SIGNAL(okClicked()), this, SLOT(okClicked()));}void AddCdDialog::okClicked() {Β char artist[200];Β char title[200];Β char catalogue[200];Β int cd_id = 0;Β strcpy(artist, artist_entry->text());Β strcpy(title, title_entry->text());Β strcpy(catalogue, catalogue_entry->text());Β add_cd(artist, title, catalogue, &cd_id);}ΠΠ° ΡΠΈΡ. 17.14 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ
AddCdDialog
Π ΠΈΡ. 17.14Β
LogonDialog
ΠΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π±Π΅Π· ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΡΡΠΎΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ. ΠΠ°Π·ΠΎΠ²ΠΈΡΠ΅ ΡΡΠΎΡ ΠΊΠ»Π°ΡΡ
LogonDialog1.Β ΠΠ°ΡΠ½Π΅ΠΌ Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π΄Π°Π»Π΅Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΈ Π½Π°Π·ΠΎΠ²ΠΈΡΠ΅ ΡΠ°ΠΉΠ» LogonDialog.h. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ Π΄Π»Ρ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡ ΡΡΠΎΡ ΠΊΠ»Π°ΡΡ ΠΎΠΏΠΈΡΠ°Π½ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΎΠΌΠΎΠΊ ΠΊΠ»Π°ΡΡΠ°
QDialogKDialogBase#include <qdialog.h>#include <qlineedit.h>class LogonDialog : public QDialog {