Kniga-Online.club
» » » » Основы программирования в Linux - Мэтью Нейл

Основы программирования в Linux - Мэтью Нейл

Читать бесплатно Основы программирования в Linux - Мэтью Нейл. Жанр: Интернет год 2004. Так же читаем полные версии (весь текст) онлайн без регистрации и SMS на сайте kniga-online.club или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

 break;

case QMessageBox::No:

 // сделайте что-нибудь еще

 break;

}

Вы соединили операцией OR (|) коды кнопок с вариантами Default и Escape, чтобы задать стандартные действия, при нажатии клавиш <Enter> (или <Return>) и <Esc>. Результирующее диалоговое окно показано на рис. 17.8.

Рис. 17.8 

QInputDialog

Окно QInputDialog полезно для ввода пользователем отдельных значений, будь то текст, вариант раскрывающегося списка, целочисленное или действительное значение. У класса QInputDialog есть статические методы, например QMessageBox, создающие некоторые проблемы, поскольку у них слишком много параметров, к счастью, у большинства из них есть значения по умолчанию:

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

<b>QString getText(const QString&amp; caption, const QString&amp; label,</b>

<b> QLineEdit::EchoMode mode=QLineEdit::Normal,</b>

<b> const QString&amp; text=QString::null,</b>

<b> bool* ok = 0, QWidget* parent = 0, const char * name = 0);</b>

<b>QString getItem(const QString&amp; caption, const QString&amp; label,</b>

<b> const QStringList&amp; list, int current=0, bool editable=TRUE,</b>

<b> bool* ok=0, QWidget* parent = 0, const char* name=0)</b>

<b>int getInteger(const QString&amp; caption, const QString&amp; label,</b>

<b> int num=0, int from = -2147483647, int to = 2147483647,</b>

<b> int step = 1, bool* ok = 0, QWidget* parent = 0, const char* name = 0);</b>

<b>double getDouble(const QString&amp; caption, const QString&amp; label,</b>

<b> double num = 0, double from = -2147483647, double to = 2147483647,</b>

<b> int decimals = 1, bool* ok = 0, QWidget* parent = 0, const char* name = 0);</b>

Для ввода строки текста напишите следующий фрагмент кода:

bool result;

QString text = QInputDialog::getText(&quot;Question&quot;, &quot;What is your Quest?:&quot;,

 QLineEdit::Normal, QString::null, &amp;result, this, &quot;input&quot;);

if (result) {

 doSomething(text);

} else {

 // Пользователь нажал Cancel

}

Как видно из рис. 17.9, окно QInputDialog создано с помощью виджета QLineEdit и кнопок OK и Cancel.

Рис. 17.9 

Диалоговое окно, созданное методом QInputDialog::getText, применяет виджет QLineEdit. Параметр режима редактирования, передаваемый в функцию getText, управляет способом отображения набираемого текста точно так же, как аналогичный параметр режима виджета QLineEdit. Вы можете также задать текст, выводимый по умолчанию, или оставить поле пустым, как показано на рис. 17.9. У всех окон QInputDialog есть кнопки OK и Cancel, и в метод передается указатель типа bool для обозначения нажатой кнопки — результат равен TRUE, если пользователь щелкает мышью кнопку OK.

Метод getItem с помощью раскрывающегося списка QComboBox предлагает пользователю список вариантов:

bool result;

QStringList options;

options &lt;&lt; &quot;London&quot; &lt;&lt; &quot;New York&quot; &lt;&lt; &quot;Paris&quot;;

QString city = QInputDialog::getItem(&quot;Holiday&quot;, &quot;Please select a

 destination:&quot;, options, 1, TRUE, &amp;result, this, &quot;combo&quot;);

if (result) selectDestination(city);

Созданное диалоговое окно показано на рис. 17.10.

Рис. 17.10 

Функции getInteger и getDouble действуют во многом аналогично, поэтому мы не будем на них останавливаться.

Применение qmake для упрощения написания make-файлов

Компиляция приложения с библиотеками KDE и Qt становится утомительным занятием, поскольку ваш make-файл получается очень сложным из-за необходимости использовать moc и иметь библиотеки здесь, там и везде. К счастью, Qt поставляется с утилитой qmake для создания ваших make-файлов.

Примечание

Если вы уже пользовались комплектом Qt, вам, возможно, знакома утилита tmake — более раннее (и теперь устаревшее) воплощение qmake, поставлявшееся с предыдущими версиями Qt.

Утилита qmake принимает в качестве входного файл .pro. Этот файл содержит самые существенные сведения, необходимые для компиляции, такие как исходные тексты, заголовочные файлы, результирующий двоичный файл и местонахождения библиотек KDE/Qt.

Типичный pro-файл среды KDE выглядит следующим образом:

TARGET = app

MOC_DIR = moc

OBJECTS_DIR = obj

INCLUDEPATH = /usr/include/kde

QMAKE_LIBDIR_X11 += /usr/lib

QMAKE_LIBS_X11 += -lkdeui -lkdecore

SOURCES = main.cpp window.cpp

Перейти на страницу:

Мэтью Нейл читать все книги автора по порядку

Мэтью Нейл - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки kniga-online.club.


Основы программирования в Linux отзывы

Отзывы читателей о книге Основы программирования в Linux, автор: Мэтью Нейл. Читайте комментарии и мнения людей о произведении.


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор kniga-online.


Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*