Всем доброго времени суток. Недавно открыл для себя Qt, сижу по-тихоньку ковыряю его. Появился такой вопрос - как получить доступ к элементу формы (пусть будет QTextEdit), находящемся на одной из вкладок?
а каким образом ты создавал элемент ? Если сам создавал - всегда есть указатель
Допустим:
QTabWidget *tabs = new QTabWidget;
tabs->addTab(new QTextEdit,"New");
ASK, ну так сохрани указатель - ты его "забыл" А как ты хочешь узначать контрол ещё ? Можно, конечно, какой-нибудь атрибут заполнить. Но ИМХО, лучше мапа зверя нет (когда контролов много)
мап - это std::map то есть
В развёрнутом виде, оно выглядит примерно так:
QTextEdit *textEdit = new QTextEdit;
QTabWidget *tabs = new QTabWidget;
int id = tabs->addTab(textEdit,"New");
указатель на контрол у тебя
QTextEdit *textEdit
Ну, с доступом к содержимому QTextEdit проблем нет. Я немного неправильно сформировал вопрос
Проблемы с доступом появляются, когда количество закладок, содержащих QTextEdit, больше одной
ASK, сформулируй основную задачу, а то вариантов может быть много ) Чего гадать то
Решил ради опыта для начала написать текстовый редактор (наверно многие начинали с этого). С однодокументным режимом всё получилось. Решил реализовать многодокументный режим на базе вкладок (типа NPP и т.д.) - с вкладками разобрался. Вопрос появился - как получить доступ к содержимому тестового поля текущей вкладки (для сохранения текста в файл) Собственно, вся задача))
ASK, тогда так: создай виджет редактора одного документа. Со всеми нужными контролами. И на каждую вкладку положи один такой виджет. И всё
Ок, попробую вечерком, спасибо большое
Спасибо большое, вопрос решён. Просто я не думал, что обращение идёт к экземпляру QTextEdit текущей вкладки.
какое такое обращение ? Не понимяу.
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)