Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Установка фокуса ввода
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt GUI
denis
Убедительная просьба помочь в решении следующей проблемы.
Есть основной класс tabDialog : QDialog, в нем размещена панель закладок QTabWidget.
Так же есть класс AnagramPage : QWidget, содержащий экземпляр класса QLineEdit lineEdit.
В конструкторе tabDialog есть следующий код:
...
tabWidget = new QTabWidget;
tabWidget->addTab(new AnagramPage, tr("Anagram"));
...
Вопрос: как при запуске приложения передать фокус ввода на lineEdit?
rnd
примерно так:
tabWidget = new QTabWidget;
AnagramPage* ap = new AnagramPage(tabWidget);
tabWidget->addTab(ap, tr("Anagram"));
ap->lineEdit->setFocus();
denis
спасибо, но до этого я сам додумался. смущает то, что lineEdit в дочернем классе приходится описывать как public для использования одного метода.
думал, может, есть более изящные способы.
rnd
зачем же как паблик, сделайте метод у AnagramPage или попробуйте то же самое(lineEdit->setFocus()) в конструкторе AnagramPage
denis
про метод как-то не догадался. так и сделаю.
а, если в конструкторе AnagramPage вызвать setFocus(), желаемого эффекта не получается.
спасибо.
grio
Цитата(denis @ 10.8.2009, 14:52) *
про метод как-то не догадался. так и сделаю.
а, если в конструкторе AnagramPage вызвать setFocus(), желаемого эффекта не получается.
спасибо.


Парни, неужели нет способа указать фокус на элемент через конструктор формы?
Как вообще программа понимает куда передать фокус при загрузке виджета?
Логично было бы поместить его на первый элемент, указанный в Tab Order.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.