Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Границы виджетов в QML  (Прочитано 1801 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн keksuem

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Границы виджетов в QML
« : 21 Января 2014, 19:39:51 »
Как запретить виджету выходить за определенные границы?
Вот, например, на скриншоте ввод текста сделан так:
Rectangle {
    width: 100
    height: 60
    color: "white"
    property alias textEdit: txtEdit
    smooth: true
    radius: 5

    TextEdit {
        id: txtEdit
        anchors.fill: parent
        selectByMouse: true
    }
}
Как чинить?
Да, у меня QtQuick 1.1.
« Последнее редактирование: 21 Января 2014, 20:29:17 от keksuem »

Оффлайн gva230

  • Активист
  • *
  • Сообщений: 981
  • GUI-овый линуксоид
    • Просмотр профиля
    • Моя дикая страничка
Re: Границы виджетов в QML
« Ответ #1 : 21 Января 2014, 19:48:53 »
А нет там чего-то такого, как в CSS?overflow: hidden
overflow: auto
overflow: scroll
Или попробуйте задать ширину и высоту для текстового поля такую же, как для прямоугольника, в которое оно должно вместиться.
Kubuntu - наше фсё! :Ь

Оффлайн keksuem

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: Границы виджетов в QML
« Ответ #2 : 21 Января 2014, 20:31:43 »
А нет там чего-то такого, как в CSS?overflow: hidden
overflow: auto
overflow: scroll
Не нашел.
Цитировать
Или попробуйте задать ширину и высоту для текстового поля такую же, как для прямоугольника, в которое оно должно вместиться.
Не помогает.

Оффлайн aSmile

  • Активист
  • *
  • Сообщений: 754
    • Просмотр профиля
Re: Границы виджетов в QML
« Ответ #3 : 22 Января 2014, 10:28:54 »
http://qt-project.org/doc/qt-5.0/qtquick/qml-qtquick2-textedit.html#details
Цитировать
Note that the TextEdit does not implement scrolling, following the cursor, or other behaviors specific to a look-and-feel.

Оффлайн keksuem

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: Границы виджетов в QML
« Ответ #4 : 22 Января 2014, 14:28:24 »
Ну, это я понял. Собственно, вопрос не конкретно про TextEdit (там, похоже, придется писать свой костыль, для контроля того, чтобы курсор не вылезал за пределы родителя, или присобачить скроллбар).

Вопрос вообще про виджеты. Например, ListView при прокручивании тоже может залезть на другие виджеты.

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7203
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
Re: Границы виджетов в QML
« Ответ #5 : 23 Января 2014, 06:33:31 »
keksuem, писать интерфейсы на плюсах никогда не было приятной задачей.
По теме с QML никогда не работал, но предполагаю, что у тебя есть родитель и текст, который ты в нём пытаешься отображать.
Погляжи это.
Предполагаю, что твоему TextEdit надо задать
width: Rectangle.width
height: Rectangle.height
Или как там у тебя родитель называется.
Это посмотри.

Оффлайн keksuem

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: Границы виджетов в QML
« Ответ #6 : 23 Января 2014, 13:16:34 »
Погляжи это.
Перенос-то текста сделал, это быстро в доках нашлось. Нашел еще ScrollBar и ScrollArea, но у меня их почему-то нету.
Предполагаю, что твоему TextEdit надо задать
width: Rectangle.width
height: Rectangle.height
Или как там у тебя родитель называется.
width: parent.width
height: parent.height
не помогает. Да и не должно было в общем-то.
Это посмотри.
Еща раз посмотрел. Еще раз убедился, что нужно самому делать скроллбар.

 

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