С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 19.04.2014
Сообщений: 9
1

Связать переменные из mainwindow.h и mainwindow.cpp

19.04.2014, 01:46. Показов 2253. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Подскажите, пожалуйста:
В файле mainwindow.cpp есть некоторая переменная state (переменная состояния), которой присваивается значение в этом же файле. Как использовать эту переменную в mainwindow.h?
При попытке объявить переменную в mainwindow.cpp глобально, а затем использовать в mainwinow.h, выскакивает ошибка: 'state' was not declared in this scope
Как быть?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.04.2014, 01:46
Ответы с готовыми решениями:

Как передать переменные и массивы из main.cpp в mainwindow.cpp?
Как передать переменные и массивы из main.cpp в mainwindow.cpp? main.cpp #include "mainwindow.h"...

Invalid use of 'Ui::MainWindow::MainWindow
Доброго времени суток, не получается создать обработчик для пунктов меню созданного в дизайнере...

Qt creator. Есть файл aboutDialog.cpp/h с webview, как получить доступ к webview из mainWindow ?
aboutDialog.h #ifndef ABOUTDIALOG_H_ #define ABOUTDIALOG_H_ #include <QtGui/QDialog>...

C:\Qt\QtProjects\practicum\mainwindow.cpp:201: error: C2678: бинарный "<<": не найден оператор, принимающий левый операн
QSaveFile outfile(fileTextName); outfile.open(QIODevice::WriteOnly); QTextStream...

6
Pied Piper
237 / 228 / 57
Регистрация: 15.01.2013
Сообщений: 855
19.04.2014, 02:31 2
Зачем вы беретесь за такого гиганта как Qt если даже не можете объявить переменную?

Ладно.. То, что вы объявите в *.cpp не будет "видно" в *.h. Поэтому объявлять как вы сказали "глобально" нужно в *.h файле. Или же объявить как поле класса.
0
0 / 0 / 0
Регистрация: 19.04.2014
Сообщений: 9
19.04.2014, 13:39  [ТС] 3
Спасибо, а можно ли будет этой переменной воспользоваться в mainwindow.cpp для изменения её значения?
И объявить эту переменную нужно вне всех классов в mainwindow.h?
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
19.04.2014, 14:54 4
Цитата Сообщение от User7991 Посмотреть сообщение
При попытке объявить переменную в mainwindow.cpp глобально, а затем использовать в mainwinow.h, выскакивает ошибка: 'state' was not declared in this scope
В .h файле пропишите её с extern.
0
0 / 0 / 0
Регистрация: 19.04.2014
Сообщений: 9
20.04.2014, 01:30  [ТС] 5
Всё равно ошибка, на этот раз undefined reference. Объявил extern int, вне всех классов в mainwindow.h
Надеюсь, объяснил задачу правильно - нужно присваивать этой переменной значение в mainwindow.cpp, а затем проверять значение этой переменной в mainwindow.h
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
20.04.2014, 01:43 6
Цитата Сообщение от User7991 Посмотреть сообщение
Надеюсь, объяснил задачу правильно
Показывайте файлы.

Добавлено через 4 минуты
Цитата Сообщение от User7991 Посмотреть сообщение
Объявил extern int
А определение (уже без extern) переменной в .cpp сделали?
0
0 / 0 / 0
Регистрация: 19.04.2014
Сообщений: 9
20.04.2014, 01:44  [ТС] 7
Всё, уже разобрался, сделал определение без extern в .cpp, всё заработало)
Спасибо огромное)
0
20.04.2014, 01:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.04.2014, 01:44
Помогаю со студенческими работами здесь

MainWindow
Здравствуйте, ребят nочему nри создании каких либо виджетов , кноnки и т.д они создаются на в...

[Решено] 2 MainWindow
Идея проста как камень. две обсалютно индентичные формы вызываються одновременно у каждой формы...

QGraphicsView в MainWindow
Суть моей задумки. Есть главное окно с меню, по нажатии на кнопку (в меню ) Size вызывается...

Перезапуск MainWindow
Создаю программу, рассчитанную на нескольких пользователей. Есть EnterDialog(наследник QWidget) и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru