Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: 35: error: ‘lineEdit’ was not de  (Прочитано 1372 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Kill[HPF]

  • Автор темы
  • Активист
  • *
  • Сообщений: 412
  • Kill
    • Просмотр профиля
    • Все о тяжелой и неформальной музыке. Биографии, дискографии, тексты, песни, клипы, туры
35: error: ‘lineEdit’ was not de
« : 08 Сентября 2010, 13:10:29 »
Недавно стал изучать c++ (ну кароче в универе)
Но там учат писать только под Windows, меня это не устраивало и я сел сам изучать программирование на c++ под LINUX Написал около 10 текстовых (консольных) проектов. Но решил заняться Гуёвыми прогами.
Скачал Qt Creator
И решил создать 1 приложение (гуёвое) Кинул на форму
lineEdit И кнупку по нажатии которой по идее должен выводится текст в lineEdit
Но тут же столкнулся с проблемой
/home/peter/prog/1_proga/1_proga/mainwindow.cpp:35: error: ‘lineEdit’ was not declared in this scopeИ как ёе решить не знаю так как методы которые обучали в (visual studio) в  Qt Creator  не работают... :o :'(
« Последнее редактирование: 08 Сентября 2010, 13:51:06 от Kill[HPF] »

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Re: 35: error: ‘lineEdit’ was not de
« Ответ #1 : 08 Сентября 2010, 13:30:08 »
так как методы которые обучали в (visual studio) в  Qt Creator  не работают...
Ещё бы это разные IDE.

Мой тебе совет: прежде чем вообще начинать хоть что-то рисаовать в редакторе форм. Напиши приложение без него следуя первым примерам и туториалам из доков по Qt самостоятельно располагая элементы интерфейса в виджете. Потом прочитай документацию по QtDesigner (но именно потом) и очень многое станет ясно.

По поводу твоей проблемы, запости mainwindow.cpp и mainwindow.h без этого что-то сказать сложно. Хотя гадания на кофейной гуще подсказывают, что либо на форме у тебя objectName у твоего lineEdit на самом деле не lineEdit, либо ты не наследуешься от сгенерированного ui:MainWindow, а держишь экземпляр в приватном поле своего класса, а доступаться до него пытаешься неправильно.

Оффлайн Kill[HPF]

  • Автор темы
  • Активист
  • *
  • Сообщений: 412
  • Kill
    • Просмотр профиля
    • Все о тяжелой и неформальной музыке. Биографии, дискографии, тексты, песни, клипы, туры
Re: 35: error: ‘lineEdit’ was not de
« Ответ #2 : 08 Сентября 2010, 13:55:37 »
На сколько всё верно делаю не знаю..
Но как я понял писать на QT С++ и на VS C++ разные совершенно вещи?
Перепробовал абсолютно все варианты да же бредовые...
« Последнее редактирование: 08 Сентября 2010, 14:14:45 от Kill[HPF] »

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Re: 35: error: ‘lineEdit’ was not de
« Ответ #3 : 08 Сентября 2010, 14:15:59 »
В архиве нет файла mianwindow.h, а так же mainwindow.ui. В любом случае чтобы пофиксить твою ошибку замени lineEdit в 35 строке на ui->lineEdit и убедись, что objectName для этого элемента формы именно lineEdit. Интереса ради открой файл ui_mainwindow.h и посмотри что там.

Если хочешь изучать Qt могу предложить присоединиться к моему проекту http://mahjong-night.googlecode.com Это небольшая сетевая игра. Будешь учиться не на бессмысленных хелоуворлдах, а на чём-то что потом будут запусткать другие люди. Так как я заинтересован в качественном коде, то буду делать обзор твоих патчей перед принятием их, давать советы и обратную связь. Такой вариант тебя интересует?

P.S. Код лучше постить прямо в сообщении используя тег code если он большой, то запихивай его в спойлер.

Оффлайн Kill[HPF]

  • Автор темы
  • Активист
  • *
  • Сообщений: 412
  • Kill
    • Просмотр профиля
    • Все о тяжелой и неформальной музыке. Биографии, дискографии, тексты, песни, клипы, туры
Re: 35: error: ‘lineEdit’ was not de
« Ответ #4 : 08 Сентября 2010, 15:38:15 »
На счёт проекта подумаю :))
Тек как стаж у меня маленький :(((
А на счет файлов mianwindow.h  ui_mainwindow.h Бл случайно забыл выделить их и запаковать :)

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Re: 35: error: ‘lineEdit’ was not de
« Ответ #5 : 08 Сентября 2010, 16:25:48 »
На счёт проекта подумаю :))
Тек как стаж у меня маленький :(((
Ну так работая над этим проектом можно и стаж набрать. У меня там есть простые задачи, которые было бы хоршо сделать, но некогда. Например одна заключается в создании далога настроек в котором можно было бы задать некоторые параметры сцены. Это ведь как раз то с чем ты пытаешься разобраться: как работать с формой нарисованной в дизайнере из плюсового кода.

А 35 строка на которую ругается компилятор должна быть такой:
ui->lineEdit->setText("Kzzzzzzz");

Оффлайн Kill[HPF]

  • Автор темы
  • Активист
  • *
  • Сообщений: 412
  • Kill
    • Просмотр профиля
    • Все о тяжелой и неформальной музыке. Биографии, дискографии, тексты, песни, клипы, туры
Re: 35: error: ‘lineEdit’ was not de
« Ответ #6 : 08 Сентября 2010, 16:30:09 »

А 35 строка на которую ругается компилятор должна быть такой:
ui->lineEdit->setText("Kzzzzzzz");
Хм я пробовал lineEdit->setText("Kzzzzzzz"); А про  ui->  не знал.. :)
 8) :coolsmiley:  ui-> это типа аналога _root в флеше:)

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Re: 35: error: ‘lineEdit’ was not de
« Ответ #7 : 08 Сентября 2010, 16:47:41 »
Цитировать
ui-> это типа аналога _root в флеше
Это приватная переменная в твоём классе MainWindow. Прочти документацию по QtDesigner: http://doc.qt.nokia.com/4.6/designer-manual.html в особенности: http://doc.qt.nokia.com/4.6/designer-using-a-ui-file.html Там читать не так уж много, но в голове всё на свои места встанет, будет проще пользоваться этим фреймворком.

 

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