Russian Qt Forum
Март 29, 2024, 01:34 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 ... 7 8 [9] 10 11   Вниз
  Печать  
Автор Тема: Помощь для новичков  (Прочитано 118906 раз)
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #120 : Июль 13, 2017, 06:55 »

Кажется, проблема кроется в кириллице в путях. Где расположен файл проекта?
Записан
ijs5
Гость
« Ответ #121 : Июль 13, 2017, 18:34 »

Нашел решение, дело в компиляторе. Почему то, в проектах (настройки) он не был установлен. После его выбора в необходимых графах все стало отображаться, спасибо за помощь.
P.S. проект располагается на D:\QtProjeck
Записан
ofi 69
Гость
« Ответ #122 : Сентябрь 05, 2017, 00:51 »

Прошу помощи, стоит тривиальная задача, казалось бы. Но видимо не для меня...
И так к сути, у меня есть метод public static QString symbolIsFigure(QString input)
Хотелось бы, для начало, проверить является ли первый символ числом. Я так понимаю что строчка кода Char.IsDigit(input[i])  на языке C++, принесет ожидаемый мной результат.

public static string symbolIsFigure(string input){
for (int i = 0; i < input.length(); i++) //Для каждого символа в входной строке
    {
          if (Char.IsDigit(input[i]))
.
.
.

А вот строчка

if (QChar::isDigit(input[i]))

вызывает ошибку,  no matching function for call to QChar::isDigit(QcharRef)

я пробовал различные варианты с приведением строки к символам и т.п. Но у меня ничего не вышло, возможно я слишком уж новичек.

Если можно, то дайте пожалуйста ответ с пояснением.
« Последнее редактирование: Сентябрь 05, 2017, 00:54 от ofi 69 » Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #123 : Сентябрь 05, 2017, 01:19 »

1. Пользуйтесь подсветкой кода (в редакторе кнопка #)
2. Там точно тип string, а не QString? (это сильно разные типы, так что разница имеет значение)
3. isDigit, похоже, ожидает код числа
Код:
bool QChar::isDigit(uint ucs4)
4. Лучше в функцию передавать константную ссылку, чем копию объекта, например поменять описание на:
Код:
static QString symbolIsFigure(const QString& input){

5. А еще до меня дошло что у вас код на c# (public в методе, Char и методы с верхнего регистра), а вы судя по всему на с++/Qt переписываете

А так, QString возвращает элементы через [] и at, и в обоих случаях можно получить QChar, у которого есть isDigit

Код
C++ (Qt)
for (int i = 0; i < input.length(); i++) {
   // Or: if (input.at(i).isDigit()) {
   if (input[i].isDigit()) {
       // ...
   }
}
« Последнее редактирование: Сентябрь 05, 2017, 01:30 от gil9red » Записан

ofi 69
Гость
« Ответ #124 : Сентябрь 07, 2017, 02:48 »

Спасибо, немного разобрался (заработало).
Появился такой вопрос,  я как понимаю , что то по факту, строкой
Код:
input[i]
создается объект класса QChar. Если так, то логично что через "." мы вызываем функцию isDigit, свойственный всем объектам этого класса. Но почему тогда Creator не ругается на строку когда я пытаюсь обратиться через имя класса, как будто бы к статической функции
Код:
QChar::isDigit(input[i])
, мало того, если не передать не какой аргумент то он говорит что параметр функции ожидает аргумент.
« Последнее редактирование: Сентябрь 07, 2017, 02:51 от ofi 69 » Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #125 : Сентябрь 07, 2017, 07:44 »

...
Но почему тогда Creator не ругается на строку когда я пытаюсь обратиться через имя класса, как будто бы к статической функции
Код:
QChar::isDigit(input[i])
, мало того, если не передать не какой аргумент то он говорит что параметр функции ожидает аргумент.

Потому-что, у QChar есть обыкновенный метод без аргумента и статичный метод с аргументом

Пользуйтесь документацией, у Qt она очень клевая!
Записан

ofi 69
Гость
« Ответ #126 : Сентябрь 08, 2017, 06:03 »

Извините, моя ошибка. Дело в том что я очень стараюсь пользоваться документацией, но иногда не все понимаю что там написано. Или как в данном случае, в связи с неопытностью увидев один метод, почему то решил, что статического метода с таким же именем не может быть.
Тогда основываясь на написанном тут я делаю вывод, что если, строка передаваемая мной в качестве параметра, будет в UCS-4, то статический метод
Код:
QChar::isDigit(input[i])
будет работать.
Пытался это реализовать, но не одним из методов, у меня почему то не получилось преобразовать. Или же дело заключается в том, что UCS-4 платформозависим, и будет работать только с Unix?
« Последнее редактирование: Сентябрь 08, 2017, 06:05 от ofi 69 » Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #127 : Сентябрь 08, 2017, 11:31 »

Извините, моя ошибка. Дело в том что я очень стараюсь пользоваться документацией, но иногда не все понимаю что там написано. Или как в данном случае, в связи с неопытностью увидев один метод, почему то решил, что статического метода с таким же именем не может быть.
Тогда основываясь на написанном тут я делаю вывод, что если, строка передаваемая мной в качестве параметра, будет в UCS-4, то статический метод
Код:
QChar::isDigit(input[i])
будет работать.
Пытался это реализовать, но не одним из методов, у меня почему то не получилось преобразовать. Или же дело заключается в том, что UCS-4 платформозависим, и будет работать только с Unix?

Если есть вопросы, то лучше код прикладывать -- так всегда проще Улыбающийся Но не весь код, а только тот, что воспроизводит проблему
Записан

kemosab
Гость
« Ответ #128 : Октябрь 18, 2017, 00:19 »

Не хотелось создавать отдельную тему для такого вопроса, так что здесь Улыбающийся

Есть кучка объектов QFrame, нужно при нажатии (например на Frame1) чтобы появлялось контекстное(всплывающее?) меню с палитрой цветов (несколько цветов, что я задам). Можно текстом, можно просто цветной строкой. Так вот не нашел каким образом это сделать.
По реализации похоже на setMenu у pushbutton например, но у Qframe нет такого. Что можно сделать?
Записан
MrDron
Гость
« Ответ #129 : Октябрь 18, 2017, 10:45 »

Не хотелось создавать отдельную тему для такого вопроса, так что здесь Улыбающийся

Есть кучка объектов QFrame, нужно при нажатии (например на Frame1) чтобы появлялось контекстное(всплывающее?) меню с палитрой цветов (несколько цветов, что я задам). Можно текстом, можно просто цветной строкой. Так вот не нашел каким образом это сделать.
По реализации похоже на setMenu у pushbutton например, но у Qframe нет такого. Что можно сделать?

Код
C++ (Qt)
frame->installEventFilter(this);
 
bool Widget::eventFilter(QObject *object, QEvent *event) {
   if (object == frame && event->type() == QEvent::MouseButtonPress) {
       menu->popup(QCursor::pos());
   }
   return QObject::eventFilter(object, event);
}
Записан
Yagoz
Гость
« Ответ #130 : Март 06, 2018, 20:24 »

Рабочего решения в сети не нашел
Можно ли выводить текст в SetToolTip построчно?
Записан
Apktyc
Самовар
**
Offline Offline

Сообщений: 129


Просмотр профиля
« Ответ #131 : Март 07, 2018, 00:20 »

Рабочего решения в сети не нашел
Можно ли выводить текст в SetToolTip построчно?

Оно? https://forum.qt.io/topic/84230/line-breaks-in-tooltip-text/14
Записан
Yagoz
Гость
« Ответ #132 : Март 09, 2018, 13:46 »

Можно ли выводить текст в SetToolTip построчно?

Оно? https://forum.qt.io/topic/84230/line-breaks-in-tooltip-text/14

Оно, но в моем случае в подсказку надо выводить переменные типа int. Метод QString::number не подходит
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4724



Просмотр профиля WWW
« Ответ #133 : Март 09, 2018, 20:09 »

так а в чем конкретно проблема?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Zusykss
Гость
« Ответ #134 : Апрель 19, 2018, 07:43 »

Добрый день Смеющийся

Можете меня добавить в конференцию ?
мой логин : kumongo@jabbim.com
Записан
Страниц: 1 ... 7 8 [9] 10 11   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.104 секунд. Запросов: 23.