Показаны сообщения с ярлыком Qt. Показать все сообщения
Показаны сообщения с ярлыком Qt. Показать все сообщения

четверг, 12 декабря 2013 г.

Облегченное консольное приложение с дебагом

Облегченное консольное приложение с дебагом


#include <QDebug> // для вывода отладочной информации
#include <QTextStream>      // для потокового ввода/вывода

int main()
{
    QTextStream cin(stdin);     // связываем текстовый поток со 
                                // стандартным потоком ввода
    QTextStream cout(stdout);   // аналогично для стандартного потока  
                                // вывода

    cout.setCodec("CP866");     // для DOS зададим кодовую страницу

    int a = 0;
    cout << QString::fromUtf8("Введите значение: "), cout.flush();
    cin >> a;
    cout << QString::fromUtf8("Вы ввели a=") << a;

    qDebug() << "Введенное значение:" << a;
    
    return 0;
}
 
 
 
Вывод отладочной информации осуществляется с помощью статического? метода
qDebug. Всего подобных методов 4 с соответствующим характером действия:

  • qDebug()
  • qWarning()
  • qCritical()
  • qFatal()

отключить их можно с помощью директивы компилятора QT_NO_DEBUG_OUTPUT

Qt. Как вывести сообщение пользователю?

Как вывести сообщение пользователю?

для этого существует класс QMessageBox.

Использовать его можно так:

        QMessageBox msg;
    msg.setText(tr("Вы действительно хотите выйти?"));
    msg.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
    msg.setDefaultButton(QMessageBox::No);
    msg.setDetailedText(tr("Что вам тут сказать?<br>это<h1>HTML</h1>"));
        if (msg.exec() == QMessageBox::Yes)
        ...
 
Или через статические методы:
 
    int ret = QMessageBox::information(this,  
               "Статическое сообщение",  
               "Ну это сообщение, не видишь?", 
               QMessageBox::Ok | QMessageBox::Cancel | QMessageBox::Abort, 
               QMessageBox::Ok 
            ); 
 
из аналогичных статических методов доступны:
     information()
     question()
     warning()
     critical()  
с соответствующим предназначением.