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

Общение между двумя объектами!

14.04.2012, 17:07. Показов 4939. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow1 *w = new MainWindow1();
    MainWindow2 *w2 = new MainWindow2();
 
    w->show();
 
    return a.exec();
}

У меня есть 2 формы классов MainWindow1 и MainWindow2.На каждой есть по кнопке, по нажатию которой должна появляется другая форма, а эта скрывается. То есть в слоте обработки нажатия на кнопку должно быть примерно так:

C++ (Qt)
1
2
3
4
5
void MainWindow1::on_pushButton_clicked()
{
  w2->show();
  w1->hide();  
}

но класс MainWindow1 ничего же не знает о объекте w2. Как это делается? Можно MainWindow1 *w и
MainWindow2 *w2 объявлять глобально.Но я читал что это не правильно.(тем более допустим в java нет глобальных переменных, но там же как то это реализовывается). В общем кто реализовывал многооконные интерфейсы - помогите!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.04.2012, 17:07
Ответы с готовыми решениями:

Класс «Время», вычислить разницу в секундах между двумя объектами типа «Время»
Здравствуйте. Нужно написать задачку на C++ в приложении с оконным интерфейсом. Класс «Время»...

Общение между компьютерами при помощи VoIP
Всем доброго времени суток! Хочу поинтересоваться, насколько надо быть маньяком в C++, что бы...

Связь между двумя окнами
Решил написать простую программу, типа, блокнота. И теперь передо мной стал следующий вопрос: Как...

Передачи между двумя виртуальными com портами
Создал с помощью программы Virtual Null Modem два com порта, com2 и com3. Пытаюсь реализовать...

8
Автор FAQ
2732 / 1428 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
14.04.2012, 17:45 2
передать через конструктор
0
1 / 1 / 0
Регистрация: 05.10.2011
Сообщений: 53
14.04.2012, 17:52  [ТС] 3
Но *w2 создаётся позже чем вызывается конструктор MainWindow1();
Вот в MainWindow2(); я могу передать *w.
Или я чего-то не понял?
0
Автор FAQ
2732 / 1428 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
14.04.2012, 17:58 4
распишите чего вы хотите добиться? В какой момент все это происходит и где?
0
1 / 1 / 0
Регистрация: 05.10.2011
Сообщений: 53
14.04.2012, 18:12  [ТС] 5
В общем мне нужно в методах одного класса (у меня форма) менять что-то в другой форме.
Ну например по нажатию кнопки на одной форме - менялся цвет второй формы.....
0
Автор FAQ
2732 / 1428 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
14.04.2012, 18:32 6
ну так и делайте public методы в каждой форме который и будет выполнять свои задачи например:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class a
{
public:
     void setColorForm(QString);
}
 
void a::setColorForm(QString color)
{
  // тут меняем цвет формы
}
 
// где-то в др классе:
 
a *frm = new a();
 
frm->setColorForm("red")
с др классом тоже самое.. На самом деле это элементарные понятия С++
0
1 / 1 / 0
Регистрация: 05.10.2011
Сообщений: 53
14.04.2012, 18:45  [ТС] 7
да но если я из второй формы захочу поменять что-то в первой форме??? они у меня равноправные.
хотя вроде разобрался.......просто в каждом классе хранится указатель на другой класс.....и после создания объектов форм передаю указатели на форму в другой класс.))
0
Автор FAQ
2732 / 1428 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
14.04.2012, 18:46 8
вот про что я и говорил тебе умничка
0
1 / 1 / 0
Регистрация: 05.10.2011
Сообщений: 53
14.04.2012, 19:01  [ТС] 9
Спасибо за ответы!
0
14.04.2012, 19:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.04.2012, 19:01
Помогаю со студенческими работами здесь

Drag and Drop между двумя QTableWidget
Доброго времени суток. Помогите пожалуйста разобраться. Надо сделать D&D между двумя QTableWidget....

Передать данные между двумя кнопками
Есть две кнопки на одной форме: private slots: void on_pushButton_clicked(); ...

Как вытащить строку между двумя словами?
Между словом Referer: и словом \r\n

QML: Возможно ли перетаскивать элементы между двумя ListView
Добрый день, форумчане! Изучаю qml, и у меня возник вопрос по drag and drop. Я уже знаю как...


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

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