Russian Qt Forum
Ноябрь 25, 2024, 05:28
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Вопросы новичков
>
Связь виджетов расположенных на разных формах
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Связь виджетов расположенных на разных формах (Прочитано 12288 раз)
Stek
Гость
Связь виджетов расположенных на разных формах
«
:
Июль 27, 2012, 14:37 »
Здравствуйте!
Собственно вопрос в названии темы: как связать виджеты расположенные на разных формах? Тема поднималась и не раз, но увы я так и не понял как же это всё-таки сделать
Есть 2 формы, на одной из них treeWidget, на другой comboBox с списком значений. По нажатии кнопки выбранное значение из comboBox должно присваиваться текущему пункту treeWidget
ui->treeWidget->currentItem()->setText(0,ui->comboBox->currentText());
как такое осуществить из разных форм
Записан
mutineer
Гость
Re: Связь виджетов расположенных на разных формах
«
Ответ #1 :
Июль 27, 2012, 14:43 »
связать формы через сигнал-слот, например
Записан
Stek
Гость
Re: Связь виджетов расположенных на разных формах
«
Ответ #2 :
Июль 27, 2012, 14:52 »
Цитата: mutineer от Июль 27, 2012, 14:43
связать формы через сигнал-слот, например
Спасибо конечно, но можно поподробнее. Про сигналы, слоты читал и имею представление. Но хотелось бы небольшой пример в к-ом увязываются между собой виджеты разных форм, если это не очень сложно и это раздел для новичков начинающих своё знакомство с qt. Думаю в таком случае одинаковых тем на форуме станет на одну меньше.
Записан
mutineer
Гость
Re: Связь виджетов расположенных на разных формах
«
Ответ #3 :
Июль 27, 2012, 14:56 »
Создаешь у первой формы сигнал needToChangeText(QString) и при нажатии на кнопку делаешь его emit со значением ui->comboBox->currentText()
Во второй форме делаешь слот changeText(QString), в котором выполняешь ui->treeWidget->currentItem()->setText(параметр слота)
Привязываешь сигнал к слоту
Записан
Stek
Гость
Re: Связь виджетов расположенных на разных формах
«
Ответ #4 :
Июль 27, 2012, 15:39 »
Не понимаю
, точнее понимаю о чём речь, но как организуется взаимосвязь не пойму.
Создам я слоты у обеих форм, но как их увязать между собой, чтобы виджет одной формы обратился к виджету другой.
Был пост с подобной темой
http://www.prog.org.ru/topic_16396_0.html
, там говорилось о qobject_cast. Не могли бы привести фрагмент кода для таких как я непонимающих.
Записан
mutineer
Гость
Re: Связь виджетов расположенных на разных формах
«
Ответ #5 :
Июль 27, 2012, 15:41 »
Ты, похоже, невнимательно читаешь. Я не говорил про
слоты
у обеих форм, я говорил про
сигнал
у одной формы и
слот
у другой. Связываются они через connect, что должны делать я описал. Что конкретно тебе непонятно?
Записан
Stek
Гость
Re: Связь виджетов расположенных на разных формах
«
Ответ #6 :
Июль 27, 2012, 15:49 »
Читать стараюсь внимательно, но не понимаю если можно так выразиться.. результирующей составляющей. Можно повториться, неясно как я связываю виджеты разных форм, ключевой связующий "элемент" мне не понятен. Реализовать предложенный вами вариант у меня не получилось. Ткните носом в тему, мануал, пример из qt с решением подобного вопроса..
«
Последнее редактирование: Июль 27, 2012, 15:55 от Stek
»
Записан
mutineer
Гость
Re: Связь виджетов расположенных на разных формах
«
Ответ #7 :
Июль 27, 2012, 16:04 »
Ткнуть носом в пример реализации сигнала и слота? Первая форма высылает сигнал со значением, которое вторая форма в слоте вставляет в нужный виджет. Все рады, счастливы, поют песни. Выкладывай код, в котором у тебя не получилось реализовать
Записан
Bepec
Гость
Re: Связь виджетов расположенных на разных формах
«
Ответ #8 :
Июль 27, 2012, 17:08 »
http://qt-project.org/doc/qt-4.8/signalsandslots.html#signals-and-slots
Записан
Stek
Гость
Re: Связь виджетов расположенных на разных формах
«
Ответ #9 :
Июль 30, 2012, 10:56 »
Добрый день!
Не могли бы вы всё-таки привести пример кода, если не затруднит.
Записан
mutineer
Гость
Re: Связь виджетов расположенных на разных формах
«
Ответ #10 :
Июль 30, 2012, 11:00 »
Пример кода сигналов и слотов?
Ты будешь показывать что у тебя не получилось?
Записан
Bepec
Гость
Re: Связь виджетов расположенных на разных формах
«
Ответ #11 :
Июль 30, 2012, 12:00 »
Цитата: Bepec от Июль 27, 2012, 17:08
http://qt-project.org/doc/qt-4.8/signalsandslots.html#signals-and-slots
Записан
Stek
Гость
Re: Связь виджетов расположенных на разных формах
«
Ответ #12 :
Июль 30, 2012, 12:22 »
Цитата: Bepec от Июль 30, 2012, 12:00
Цитата: Bepec от Июль 27, 2012, 17:08
http://qt-project.org/doc/qt-4.8/signalsandslots.html#signals-and-slots
При всём моём уважении и вашем статусе с внушительным кол-вом постов, ну наверное более объёмных и содержательных и не связанных с раздачей ссылок и указании направления на QtSDK/examples... был бы более благодарен за пример, реализующий указанную задачу.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Связь виджетов расположенных на разных формах
«
Ответ #13 :
Июль 30, 2012, 12:32 »
Цитата: Stek от Июль 30, 2012, 12:22
При всём моём уважении и вашем статусе с внушительным кол-вом постов, ну наверное более объёмных и содержательных и не связанных с раздачей ссылок и указании направления на QtSDK/examples... был бы более благодарен за пример, реализующий указанную задачу.
Нет ничего плохого в "дайте списать" (суть Вашего поста), если человек вежливый. Но в данном случае как Вы себе это представляете? Кто-то должен набросать скелетик приложения, придумать какие-то формы, заполнить их чем-то - не многовато ли только чтобы "показать пример"? Выложите проект и скажите что с чем хотите связать - и поверьте, свяжут очень быстро
Записан
Stek
Гость
Re: Связь виджетов расположенных на разных формах
«
Ответ #14 :
Июль 30, 2012, 12:46 »
Цитата: mutineer от Июль 30, 2012, 11:00
Пример кода сигналов и слотов?
Ты будешь показывать что у тебя не получилось?
Bkb
Когда вообщем-то не понятна реализация написать что-то внятное довольно трудно, можно написать бред и количество постов в ветке станет больше. void needToChangeText(QString) я пишу для form1, pushButton расположен на form2.ui по нажатии на него я должен вызвать emit needToChangeText(QString) ..
Можно на примере показать что к чему, чтобы было понятно (и не только мне)? Или же, как обычно бывает: Вам всё выше написали, а вы просто не хотите читать и разбираться. Мне непонятно как виджет формы1 сможет получить данные виджета формы2. Я понимаю что можно использовать сигнал-слот (собственно вопрос как?). Я только начал изучать qt. В контексте моей задачи я не знаю как увязать слот-сигнал.
Записан
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...