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

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

Страниц: [1] 2 3   Вниз
  Печать  
Автор Тема: публичные переменные  (Прочитано 15964 раз)
StatuS74
Гость
« : Май 11, 2011, 07:59 »

суть проблемы заключается в том что у меня есть 2-е формы. одна главная а друга вызывается по нажатию кнопки на главной форме. так вот на второй форме есть переменные которые я  бы хотел использовать в 1 форме(главной).
описал так
Код:
 public: int bit =0; qulonglong speed =0; int stopBit =0; char chetnost[10];
но кампилятор ругается. в чем моя ошибка ? и как правельно  описать что бы их я видел из главной формы
Записан
mutineer
Гость
« Ответ #1 : Май 11, 2011, 08:05 »

Убери инициализацию переменных (которая "=0")

Но было бы неплохо увидеть хотя бы сообщения компилятора...
Записан
StatuS74
Гость
« Ответ #2 : Май 11, 2011, 08:08 »

все равно ругается на public
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #3 : Май 11, 2011, 08:08 »

Инициализация в теле класса позволительна только для интегральных констант.
Поэтому "обзовите" bit, speed и stopBit как "static" либо перенесите их инициализацию в конструктор.

И причём здесь Пользовательский интерфейс (GUI) Непонимающий
Записан

Qt 5.11/4.8.7 (X11/Win)
mutineer
Гость
« Ответ #4 : Май 11, 2011, 08:09 »

Выложи сообщения компилятора и код класса
Записан
StatuS74
Гость
« Ответ #5 : Май 11, 2011, 08:11 »

выдает следующее : 1)expected ';' before 'public'
                              2) expected primary-expression ';' before 'public'

Записан
Nimbus
Гость
« Ответ #6 : Май 11, 2011, 08:12 »

И на будущее, лучше используйте методы get/set для получения или изменения переменных.
Очень не люблю, когда виджеты называют формами
Записан
mutineer
Гость
« Ответ #7 : Май 11, 2011, 08:13 »

Код класса где?
Записан
StatuS74
Гость
« Ответ #8 : Май 11, 2011, 08:15 »

проблема решена. но у меня на виджите  есть поле для ввода слова. как его перегнать в переменную char
 chetnost = (ui_m->lineEdit_4->text()).Непонимающий??  какой тип поставить ?
« Последнее редактирование: Май 11, 2011, 08:17 от StatuS74 » Записан
StatuS74
Гость
« Ответ #9 : Май 11, 2011, 08:18 »

И на будущее, лучше используйте методы get/set для получения или изменения переменных.
Очень не люблю, когда виджеты называют формами


 а как ими пользоваться ? я просто новичек в этом а литературу читаю пока не встречал
Записан
Nimbus
Гость
« Ответ #10 : Май 11, 2011, 08:22 »

проблема решена. но у меня на виджите  есть поле для ввода слова. как его перегнать в переменную char
 chetnost = (ui_m->lineEdit_4->text()).Непонимающий??  какой тип поставить ?
В char перегнать нельзя - это один байт. метод text() возвращает QString, а QString - это строка, а строка подразумевает несколько байт, значит, можно получить лишь указатель на первый символ и размер, т. е. перегнать в char* (QChar*), для этого есть метод data(). Типа
ui_m->lineEdit_4->text().data()
Только вот надо ли оно вам?Улыбающийся
А если новичёк, то лучше не лезьте сразу в Qt. Лучше обычный C++ изучите для начала Подмигивающий
Записан
StatuS74
Гость
« Ответ #11 : Май 11, 2011, 08:22 »

перенес переменные в описания класса компилятор выдал ошибку

:: error: collect2: ld returned 1 exit status
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #12 : Май 11, 2011, 08:22 »

Во-первых, тебе сюда Вопросы новичков.
Во-вторых, С++ ты не знаешь, читать документацию ты не хочешь, мозгу свою поднапрячь не хочешь...
Записан

Qt 5.11/4.8.7 (X11/Win)
StatuS74
Гость
« Ответ #13 : Май 11, 2011, 08:23 »

я с++ на среднем уровне знаю. а так на си шарпе работаю но начальник выдал задачу для реализации на Qt
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #14 : Май 11, 2011, 08:26 »

Цитата: StatuS74
я с++ на среднем уровне знаю.
+
Цитировать
chetnost = (ui_m->lineEdit_4->text()).
Здесь даже начальным уровнем не пахнет Грустный
Записан

Qt 5.11/4.8.7 (X11/Win)
Страниц: [1] 2 3   Вверх
  Печать  
 
Перейти в:  


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