Russian Qt Forum

Qt => Вопросы новичков => Тема начата: SuleymanStalskiy от Октябрь 27, 2014, 16:54



Название: [РЕШЕНО] Ошибка метода textEdit->append()
Отправлено: SuleymanStalskiy от Октябрь 27, 2014, 16:54
Qt creator 3.2.1
Qt 5.3.2
OS Windows7 x64

Пытаюсь вывести дату на поле textEdit, получаю непонятный символ в виде квадрата(см. вложение)
и ошибку "OpenType support missing for script 66"
Код:
void MainWindow::printDate()
{
    QDate dateM = ui->dateEditT->date();
    int year = dateM.year();
    ui->textEditTest->append(" year:" + (QString)year);
    qDebug() << "year: " << year << endl;

}


при этом qDebug() отрабатывает корректно
подскажите в какую сторону копать.


Название: Re: OpenType support missing for script 66. Ошибка метода textEdit->append()
Отправлено: gil9red от Октябрь 27, 2014, 18:20
О боже, и кто вас научил такое приведение
Код:
 ui->textEditTest->append(" year:" + (QString)year);
делать? О_о

Используйте http://qt-project.org/doc/qt-5/qstring.html#number:
Код:
 ui->textEditTest->append(" year:" + QString::number(year));


Название: Re: OpenType support missing for script 66. Ошибка метода textEdit->append()
Отправлено: Alex Custov от Октябрь 27, 2014, 18:27
попахивает незнанием языка, бросьте Qt и займитесь сперва С++.


Название: Re: OpenType support missing for script 66. Ошибка метода textEdit->append()
Отправлено: SuleymanStalskiy от Октябрь 27, 2014, 19:49
попахивает незнанием языка, бросьте Qt и займитесь сперва С++.

спасибо за ответ, сегодня бросаю изучать программирование на Qt


Название: Re: OpenType support missing for script 66. Ошибка метода textEdit->append()
Отправлено: lesav от Октябрь 27, 2014, 19:55
Используйте http://qt-project.org/doc/qt-5/qstring.html#number:
Код:
 ui->textEditTest->append(" year:" + QString::number(year));

А мне больше нравится http://qt-project.org/doc/qt-5/qstring.html#arg (http://qt-project.org/doc/qt-5/qstring.html#arg)
Код:
 ui->textEditTest->append( QString(" year: %1").arg(year) );


Название: Re: OpenType support missing for script 66. Ошибка метода textEdit->append()
Отправлено: lesav от Октябрь 27, 2014, 20:00
а есть еще фкусняшка QString::sprintf (http://qt-project.org/doc/qt-4.8/qstring.html#sprintf)

Но она не рекомендуется к применению 
Warning: We do not recommend using QString::sprintf() in new Qt code.


Название: Re: OpenType support missing for script 66. Ошибка метода textEdit->append()
Отправлено: gil9red от Октябрь 27, 2014, 21:22
Используйте http://qt-project.org/doc/qt-5/qstring.html#number:
Код:
 ui->textEditTest->append(" year:" + QString::number(year));

А мне больше нравится http://qt-project.org/doc/qt-5/qstring.html#arg (http://qt-project.org/doc/qt-5/qstring.html#arg)
Код:
 ui->textEditTest->append( QString(" year: %1").arg(year) );

Мне тоже :)


Название: Re: OpenType support missing for script 66. Ошибка метода textEdit->append()
Отправлено: Alex Custov от Октябрь 27, 2014, 22:03
Мне тоже :)

Однажды я тестировал number() и arg(), не поверив в утверждение, что arg() работает быстрее. Оказалось наоборот. Дело было ещё в Qt3. С тех пор мало что изменилось, и number() работает приблизительно в два раза быстрее, причём сложность обоих алгоритмов приблизительно одинаково растёт в зависимости от количества разрядов в числе, но number() всегда быстрее.