Название: QString::arg: Argument missing в QLabel [Решено] Отправлено: iamfomik от Февраль 06, 2009, 15:12 Работаю над прорграммкой уже более 2-х месяцев. Давным давно сделал у неё интерфейс. Всё всегда было нормально, а с недавних пор начал получать в консоли следующие сообщения:
Код: QString::arg: Argument missing: Dialing phone 12 ..., и им подобное. Это результат после связи слота setText() некой QLabel. Сигнал посылаю так: Цитировать emit someSignal(tr("Dialing phone %1 ...").arg(number)) где number - QString с номером телефона (в данном случае 12)Подобная же проблема возникает и пи явном вызове слота: Цитировать QString::arg: Argument missing: Calling number: 12 , код:Код: ui.label_Number->setText(tr("Calling number: %1 ").arg(phone)); где phone - QString пробовал сделать так: Код: ui.label_Number->setText("dddddddddddddddddd"); Цитировать QString::arg: Argument missing: dddddddddddddddddd, Что-то никак не могу понять что такое странное случилось? версия QT - 4.4.2 компилятор от MS. Название: Re: QString::arg: Argument missing в QLabel Отправлено: pastor от Февраль 06, 2009, 15:26 Первый раз такое вижу. А какая версия Qt?
Вы пробовали дебажить setText(...)? А можно показать кусок кода (выше проблемной строки)? Какой текст был установлен в дизайнере для ui.label_Number? Название: Re: QString::arg: Argument missing в QLabel Отправлено: iamfomik от Февраль 06, 2009, 15:35 код выше строки(много показывать не могу - начальство убьёт):
Код: ui.label_Status->setText("<p align=\"center\"><span style=\" font-size:14pt; font-weight:600; color:#ecec00;\">DIALING</span></p>"); текст в дизайнере для ui.label_Number Код: Calling number: %1 Код: ui.label_Number->setText(ui.label_Number->text().arg("")); вот ещё одна строчка проблемная: Код: ui.label_Stat->setText(tr("Statistic:\nConnections - %1 Total connection time - %2\nSent - %3 MB Received - %4 MB").arg(0).arg(0).arg(0.0,0,'f',2).arg(0.0,0,'f',2)); пробовал много раз пересобирать проект. Видимо какие-то проблемы с этими лабелами. Дебажить сетТекст пробовал но неглубоко и не долго. Как вариант сейчас попробую через mingw собрать и более глубоко подебажить. Если есть ещё какие предложения, то они мне очень пригодятся. Название: Re: QString::arg: Argument missing в QLabel Отправлено: iamfomik от Февраль 06, 2009, 15:51 pastor, Спасибо тебе огромное!!!
твоя фраза Цитировать Какой текст был установлен в дизайнере для ui.label_Number? сыграла решающую роль. В дизайнере то всё нормально, но как говориться "оптимизация - корень всего зла"(или как-то так)В дизайнере я ставлю текст "Calling number %1" для того чтобы в лингвисте меньше переводить было. В конструкторе формы я параметры заменяю дефолтными значениями - пустотой или нулями, но для большей гибкости делаю это так: Код: ui.label_Number->setText(ui.label_Number->text().arg("")); Сейчас заменил: Код: ui.label_Number->setText(tr("Calling number: %1").arg("")); Странно конечно, с чего бы это такая ошибка возникала вообще..... Название: Re: QString::arg: Argument missing в QLabel Отправлено: pastor от Февраль 06, 2009, 18:22 Странно конечно, с чего бы это такая ошибка возникала вообще..... Проблема берет свое начало из этой строки: Код: ui.label_Number->setText(ui.label_Number->text().arg("")); где-то, когда читал про это (про неправильную работу с arg, ссылку найти несмог), но сам не сталкивался. Поэтому я и спросил у тебя места кода где идет работа с ui.label_Number->setText. Название: Re: QString::arg: Argument missing в QLabel Отправлено: Rcus от Февраль 06, 2009, 18:36 но как говориться "оптимизация - корень всего зла"(или как-то так) На самом деле фраза Хоара полностью переводится примерно как "Программисты тратят впустую огромное количество времени на размышления или волнения о скорости некритических частей своих программ, и эти попытки добиться эффективности фактически оказывают сильное отрицательное воздействие, если иметь в виду отладку и эксплуатацию. Мы должны забыть о малой эффективности приблизительно в 97% случаев: преждевременная оптимизация – вот корень всего зла".Название: Re: QString::arg: Argument missing в QLabel Отправлено: pastor от Февраль 06, 2009, 18:41 |