ΠΠ»Ρ Π·Π°Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄
InsertionPolicyQComboBoxcombo->setInsertionPolicy(QComboBox::AtTop);ΠΠ°Π²Π°ΠΉΡΠ΅ Π±ΡΠΎΡΠΈΠΌ Π²Π·Π³Π»ΡΠ΄ Π½Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π²ΡΠ±ΠΎΡΠ° Π²Π°ΡΠΈΠ°Π½ΡΠ° Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°
QComboBox<b>#include <qcombobox.h></b><b>QComboBox(QWidget *parent = 0, const char *name = 0);</b><b>QComboBox(bool readwrite, QWidget *parentΒ = 0, const char *name = 0);</b><b>int count();</b><b>void insertStringList(const QStringList& list, int index = -1);</b><b>void insertStrList(const QStrList& list, int index = -1);</b><b>void insertStrList(const QStrList *list, int index = -1);</b><b>void insertStrList (const char **strings, int numStrings = -1, int index = -1);</b><b>void insertItem(const QString &t, int index = -1);</b><b>void removeItem(int index);</b><b>virtual void setCurrentItem(int index);</b><b>QString currentText();</b><b>virtual void setCurrentText(const QString &);</b><b>void setEditable(bool);</b>Π€ΡΠ½ΠΊΡΠΈΡ
countQStringListQStrListcurrentTextsetCurrentTextsetEditableQComboBoxtextChanged(QString&)ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 17.6.
QComboBoxΠ ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²Ρ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅ ΠΏΠΎΠΏΡΡΠΊΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π²ΠΈΠ΄ΠΆΠ΅Ρ
QComboBoxComboBoxQMainWindowQComboBoxtextChanged1.Β ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΈ Π½Π°Π·ΠΎΠ²ΠΈΡΠ΅ ΡΠ°ΠΉΠ» ComboBox.h:
#include <qmainwindow.h>#include <qcombobox.h>class ComboBox : public QMainWindow {Β Q_OBJECTpublic:Β ComboBox(QWidget*Β parent = 0, const char *name = 0);private slots:Β void Changed(const QString& s);};2. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ²
QComboBox#include "ComboBox.moΡ"#include <qlayout.h>#include <iostream>ComboBox::ComboBox(QWidget *parent, const char *name) :Β QMainWindow(parent, name) {Β QWidget *widget = new QWidget(this);Β setCentralWidget(widget);Β QVBoxLayout *vbox = new QVBoxLayout(widget, 5, 10, "vbox");Β QComboBox *editablecombo = new QComboBox(TRUE, widget, "editable");Β vbox->addWidget(editablecombo);Β QComboBox *readonlycombo = new QComboBox(FALSE, widget, "readonly");Β vbox->addWidget(readonlycombo);Β static const char* items[] = {"Macbeth", "Twelfth Night", "Othello", 0};Β editablecombo->insertStrList(items);Β readonlycombo->insertStrList(items);Β connect(editablecombo, SIGNAL(textchanged(const QString&),Β this, SLOT(Changed(const QString&)));Β resize(350, 200);}3.Β ΠΠ°Π»Π΅Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ»ΠΎΡΠ°. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
sQStringvoid ComboBox::Changed(const QString& s) {Β std::cout << s << "\n";}int main(int argc, char **argv) {Β QApplication app(argc, argv);Β ComboBox* window = new ComboBox();Β app.setMainWidget(window);Β window->show();Β return app.exec();}ΠΡ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ Π²Π½ΠΎΠ²Ρ Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ
QComboBox
Π ΠΈΡ. 17.6
ΠΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
Π‘ΠΎΠ·Π΄Π°ΡΡΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠ΅Π³ΠΎΡΡ ΡΠΏΠΈΡΠΊΠ° Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ. ΠΠ»Π°Π²Π½Π°Ρ Π½ΠΎΠ²Π°Ρ Π΄Π΅ΡΠ°Π»Ρ β Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ
insertStrListΠΠ°ΠΊ ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΡΠ΅ΠΊΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°Ρ , ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΠΊΡΡΠ° ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠ΅Π³ΠΎΡΡ ΡΠΏΠΈΡΠΊΠ°.