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

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

Страниц: 1 ... 3 4 [5] 6 7 ... 10   Вниз
  Печать  
Автор Тема: Моё первое приложение  (Прочитано 64587 раз)
PinkPink
Гость
« Ответ #60 : Март 24, 2012, 19:52 »

Ура! Желаемый эффект создан! И совсем не больно было правда?)
Если интересно, выложу код, что я там натворила =)
Записан
PinkPink
Гость
« Ответ #61 : Март 24, 2012, 22:07 »

Простите пожалуйста, что-то не найду способа..
как можно в QString переменную считать текст из text Edit?
text() подходит только для line edit
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #62 : Март 24, 2012, 22:36 »

toPlainText(), toHtml() - неужели так трудно посмотреть в документации к классу?
Записан

Изучением 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
PinkPink
Гость
« Ответ #63 : Март 24, 2012, 22:48 »

toPlainText(), toHtml() - неужели так трудно посмотреть в документации к классу?
уже и сама нашла..
Записан
PinkPink
Гость
« Ответ #64 : Март 24, 2012, 23:10 »

void MainWindow::on_generator_clicked()
{
QString str = ui->textEdit->toPlainText();
int a;
for(int i=0;i<str.size();i++)
{
    if((str=='*') && (str[i+1]=='*') && (str[i+2]=='*') && (str[i+4]=='*') && (str[i+5]=='*') && (str[i+6]=='*'))
    {
        a=str.toInt(str[i+3]);
        ui->textEdit->insertPlainText(QString::number(randnumber(getnumber(a))));
    }
}
}
между ***и*** записано число
при считывании из text edit мы естественно получаем char
нужно преобразовать char в число, чтобы вызвать функцию.
ф-ция getnumber(a) возвращает int
ф-ция randnumber() тоже.
компилятор очень ругался на то что я число пыталась вывести в textEdit, поэтому я сделала преобразование, но осталась другая ошибка :
C:/Qt/InsertText/mainwindow.cpp:47: error: no matching function for call to `QString::toInt(QCharRef)'
а также предупреждение C:/Qt/InsertText/../2009.03/qt/include/QtCore/../../src/corelib/tools/qstring.h:369: note: candidates are: int QString::toInt(bool*, int) const

в чём причина и что делать?
Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2095



Просмотр профиля
« Ответ #65 : Март 24, 2012, 23:15 »

void MainWindow::on_generator_clicked()
{
QString str = ui->textEdit->toPlainText();
int a;
for(int i=0;i<str.size();i++)
{
    if((str=='*') && (str[i+1]=='*') && (str[i+2]=='*') && (str[i+4]=='*') && (str[i+5]=='*') && (str[i+6]=='*'))
    {
        a=str.toInt(str[i+3]);
        ui->textEdit->insertPlainText(QString::number(randnumber(getnumber(a))));
    }
}
}
между ***и*** записано число
при считывании из text edit мы естественно получаем char
нужно преобразовать char в число, чтобы вызвать функцию.
ф-ция getnumber(a) возвращает int
ф-ция randnumber() тоже.
компилятор очень ругался на то что я число пыталась вывести в textEdit, поэтому я сделала преобразование, но осталась другая ошибка :
C:/Qt/InsertText/mainwindow.cpp:47: error: no matching function for call to `QString::toInt(QCharRef)'
а также предупреждение C:/Qt/InsertText/../2009.03/qt/include/QtCore/../../src/corelib/tools/qstring.h:369: note: candidates are: int QString::toInt(bool*, int) const

в чём причина и что делать?
Учится правильно формулировать вопросы) А ещё почитать теорию)
Знаете: нет ничего практичнее хорошей теории)
Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
PinkPink
Гость
« Ответ #66 : Март 24, 2012, 23:19 »

void MainWindow::on_generator_clicked()
{
QString str = ui->textEdit->toPlainText();
int a;
for(int i=0;i<str.size();i++)
{
    if((str=='*') && (str[i+1]=='*') && (str[i+2]=='*') && (str[i+4]=='*') && (str[i+5]=='*') && (str[i+6]=='*'))
    {
        a=str.toInt(str[i+3]);
        ui->textEdit->insertPlainText(QString::number(randnumber(getnumber(a))));
    }
}
}
между ***и*** записано число
при считывании из text edit мы естественно получаем char
нужно преобразовать char в число, чтобы вызвать функцию.
ф-ция getnumber(a) возвращает int
ф-ция randnumber() тоже.
компилятор очень ругался на то что я число пыталась вывести в textEdit, поэтому я сделала преобразование, но осталась другая ошибка :
C:/Qt/InsertText/mainwindow.cpp:47: error: no matching function for call to `QString::toInt(QCharRef)'
а также предупреждение C:/Qt/InsertText/../2009.03/qt/include/QtCore/../../src/corelib/tools/qstring.h:369: note: candidates are: int QString::toInt(bool*, int) const

в чём причина и что делать?
Учится правильно формулировать вопросы) А ещё почитать теорию)
Знаете: нет ничего практичнее хорошей теории)
нечего сказать решили докапаться?(
код дан, текст ошибки выложила, задала конкретный вопрос - в чём причина ошибки и что нужно делать.
Чтож вы такие противные то..
Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2095



Просмотр профиля
« Ответ #67 : Март 24, 2012, 23:30 »

Цитировать
нечего сказать решили докапаться?(
код дан, текст ошибки выложила, задала конкретный вопрос - в чём причина ошибки и что нужно делать.
Чтож вы такие противные то..
Ну почему же.. Сказать всегда есть что) Что мы, не изобретательные дигроты что ли какие)

У вас до курсовой месяц, как я понял. Отведите хотя бы неделю на теорию по плюсам и Qt. А вы сейчас хотите всего и сразу) Так вы только посеете путаницу в своей головушке) Вы считаете, что вы делаете так, а на самом деле, всё делается гораздо проще.. Хотя нужно всегда подходить к проблеме не с позиций: как проще, но как сделать правильно. И вам уже дали дельный совет, что не плохо бы для начала разобраться в основах.

К тому же сам вопрос звучит несколько сумбудно. Может вам и понятен смысл, но лично для меня такая постановка... хм..

Эх.. Всё же, женщины созданы для того, чтоб их любили, а не для того, чтоб их понимали)) 
Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
PinkPink
Гость
« Ответ #68 : Март 24, 2012, 23:40 »

Цитировать
нечего сказать решили докапаться?(
код дан, текст ошибки выложила, задала конкретный вопрос - в чём причина ошибки и что нужно делать.
Чтож вы такие противные то..
Ну почему же.. Сказать всегда есть что) Что мы, не изобретательные дигроты что ли какие)

У вас до курсовой месяц, как я понял. Отведите хотя бы неделю на теорию по плюсам и Qt. А вы сейчас хотите всего и сразу) Так вы только посеете путаницу в своей головушке) Вы считаете, что вы делаете так, а на самом деле, всё делается гораздо проще.. Хотя нужно всегда подходить к проблеме не с позиций: как проще, но как сделать правильно. И вам уже дали дельный совет, что не плохо бы для начала разобраться в основах.

К тому же сам вопрос звучит несколько сумбудно. Может вам и понятен смысл, но лично для меня такая постановка... хм..

Эх.. Всё же, женщины созданы для того, чтоб их любили, а не для того, чтоб их понимали)) 

мне интересно, вы как думаете я откуда эти все функции взяла? и способы преобразования типов? сама что-ли сочинила? передо мной сейчас 3 книги, и я роюсь в этих книгах весь день, весь день что-то читаю и что-то изучаю. функции нашла именно там (Жасмин Бланшет, Марк Саммерфилд). Заодно во время прочтения я всё пробую на практике, на практике вышло, что при успользовании функции  у меня возникает ошибка. Помучалась, поискала, попыталась переделать - не выходит. Поэтому обратилась за помощью к вам.
Записан
PinkPink
Гость
« Ответ #69 : Март 24, 2012, 23:47 »

поняла, что накосячила - переделала.
вот так:
        bool ok;
        a=str[i+3].toInt(&ok);
но тут возникает другая проблема, str[i+3] - один символ и он его воспринимает как char, а у char toInt нету..
Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2095



Просмотр профиля
« Ответ #70 : Март 24, 2012, 23:54 »

PinkPink у меня к вам предложение и не только к вам, но и к форумчанам)
Заодно проверим мою теорию, а также это может служить логическим продолжением соседней темы, начатой товарищем Igors'ом.
Суть идеи в следующем:
Вы за некоторый срок (пусть две недели) самостоятельно пытаетесь изучить основы c++, Qt. Самые бызовые знания.
Затем, спустя этот срок мы устраиваем вам небольшой зачёт (по базовому материалу) и если вы справляетесь, мы пишем вам вашу задачу со всеми комментариями и пояснениями)

Как вам такая идея? (это вопрос ко всем)))   
Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
PinkPink
Гость
« Ответ #71 : Март 25, 2012, 00:02 »

PinkPink у меня к вам предложение и не только к вам, но и к форумчанам)
Заодно проверим мою теорию, а также это может служить логическим продолжением соседней темы, начатой товарищем Igors'ом.
Суть идеи в следующем:
Вы за некоторый срок (пусть две недели) самостоятельно пытаетесь изучить основы c++, Qt. Самые бызовые знания.
Затем, спустя этот срок мы устраиваем вам небольшой зачёт (по базовому материалу) и если вы справляетесь, мы пишем вам вашу задачу со всеми комментариями и пояснениями)

Как вам такая идея? (это вопрос ко всем)))   
меня такая идея не устраивает т.к. я никогда не соглашусь на то, чтобы мне кто-то писал работу, я всегда всё делаю сама!это во-первых. А во-вторых, помимо Qt у меня ещё есть куча предметов, которые мне тоже нужно учить и сдавать по ним работы! Я просто не могу забить на всё остальное! Поэтому, будьте добры, хватит ломаться и делать вид типа "это всё для твоего же блага, ты должна понимать, а не задавать вопросы", я и так знаю, что мне нужно выучить! и сейчас я делаю, всё от меня зависящее. Если вы не собираетесь помогать мне советом, то не тратьте моё время
Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2095



Просмотр профиля
« Ответ #72 : Март 25, 2012, 00:18 »

PinkPink у меня к вам предложение и не только к вам, но и к форумчанам)
Заодно проверим мою теорию, а также это может служить логическим продолжением соседней темы, начатой товарищем Igors'ом.
Суть идеи в следующем:
Вы за некоторый срок (пусть две недели) самостоятельно пытаетесь изучить основы c++, Qt. Самые бызовые знания.
Затем, спустя этот срок мы устраиваем вам небольшой зачёт (по базовому материалу) и если вы справляетесь, мы пишем вам вашу задачу со всеми комментариями и пояснениями)

Как вам такая идея? (это вопрос ко всем)))   
меня такая идея не устраивает т.к. я никогда не соглашусь на то, чтобы мне кто-то писал работу, я всегда всё делаю сама!это во-первых. А во-вторых, помимо Qt у меня ещё есть куча предметов, которые мне тоже нужно учить и сдавать по ним работы! Я просто не могу забить на всё остальное! Поэтому, будьте добры, хватит ломаться и делать вид типа "это всё для твоего же блага, ты должна понимать, а не задавать вопросы", я и так знаю, что мне нужно выучить! и сейчас я делаю, всё от меня зависящее. Если вы не собираетесь помогать мне советом, то не тратьте моё время
Да, я вас понимаю) Знаю что это такое)
Но не путайте тёплое с мягким.. Суть ведь не в том, чтобы тупо за вас всё написать. Суть объяснить как нужно написать с пояснениями - эдакий курс лекции) А ваша плата за это - изучение фундаментальных основ, что гораздо значимей каких то там технологий и конкретных библиотек, вроде Qt. В наш современный мир всё так быстро меняется, что не успеете вы закончить универ, как предётся заново переучиваться) Ведь главное не сами знания, но научится самостоятельно искать решения, ответы, выроботать свой образ мысли, не так ли?
Или ваша цель стать неким подобием энциклопедического справочника по всем вопросам?

Не спешите с ответом)
 
Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
V1KT0P
Гость
« Ответ #73 : Март 25, 2012, 00:48 »

поняла, что накосячила - переделала.
вот так:
        bool ok;
        a=str[i+3].toInt(&ok);
но тут возникает другая проблема, str[i+3] - один символ и он его воспринимает как char, а у char toInt нету..
Вот а прочитай вы основы C++(это первая часть книги для начинающих) вы бы знали что существует приведение типов и что неплохо бы использовать static_cast. Я его стараюсь использовать везде где можно, лучше лишний раз перестраховаться чем потом ловить ошибки.
Записан
PinkPink
Гость
« Ответ #74 : Март 25, 2012, 00:55 »

поняла, что накосячила - переделала.
вот так:
        bool ok;
        a=str[i+3].toInt(&ok);
но тут возникает другая проблема, str[i+3] - один символ и он его воспринимает как char, а у char toInt нету..
Вот а прочитай вы основы C++(это первая часть книги для начинающих) вы бы знали что существует приведение типов и что неплохо бы использовать static_cast. Я его стараюсь использовать везде где можно, лучше лишний раз перестраховаться чем потом ловить ошибки.
про static_cast знаю, всегда его применяю, когда пишу для консольки на C++
просто тут вот нашла новые способы и решила попробовать)
сами же говорите - читай читай, вот вычитала. и кстати, проблема решилась. я сама уже разобралась.
вообщем-то пора спать) завтра по плану menu bar и небольшой генератор. также возможно прикручивание БД, так что готовьтесь! =)
Записан
Страниц: 1 ... 3 4 [5] 6 7 ... 10   Вверх
  Печать  
 
Перейти в:  


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