Russian Qt Forum
Ноябрь 22, 2024, 07:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Declarative UI. Keys events.  (Прочитано 4317 раз)
revers
Гость
« : Декабрь 21, 2009, 02:40 »

Вопрос тем, кто разбирался с вышедшим declarative. Вот код файла "textInput.qml":
Код
C++ (Qt)
import Qt 4.6
 
Rectangle {
   id: main
   width: 800; height: 600
   color: "blue"
   signal up()
   TextInput {
       id: inp
       text: "Text"
       color: "white"
   }
   focus: true
   Keys.onPressed: { inp.text = "Up"; main.up() }
   MouseRegion {
       anchors.fill: parent
       onClicked: main.up()
   }
}
Мне почти удалось заставить это работать, добавлением следующих строк в конструктор главного виджета:
Код
C++ (Qt)
MainWindow::MainWindow(QWidget *parent) :
   QWidget(parent),
   ui(new Ui::MainWindow)
{
   ui->setupUi(this);
   qmlView = new QmlView(this);
   qmlView->setContentResizable(true);
   connect(qmlView, SIGNAL(errors(QList<QmlError>)), this, SLOT(printErrors(QList<QmlError>)));
   QUrl url = QUrl::fromLocalFile("\.\.\\textInput.qml");
   qmlView->setUrl(url);
   qmlView->execute();
   this->resize(qmlView->sizeHint());
   qmlView->show();
 
   rootItem = qmlView->root();
   connect(rootItem, SIGNAL(up()), this, SLOT(onUp()));
}
"Почти" - потому что не работают сигналы от клавиатуры. Как видно из qml-файла, по нажатию клавиши/кнопки мыши посылается один и тот же сигнал. Но код из слота onUp() выполняется только, если кликаем мышью. При этом, если открыть qml-ку в qmlviewer'е, все работает на отлично. Желания же копаться в исходниках этого вьювера особо нет...
Может кто знает почему это все работает не до конца, и объяснит как это исправить?
Записан
revers
Гость
« Ответ #1 : Декабрь 22, 2009, 07:25 »

AAAAaaa.... Готов покарать себя:)
qmlView->setFocus() и все работает.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.087 секунд. Запросов: 20.