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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

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

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

  • Активист
  • *
  • Сообщений: 748
    • Просмотр профиля
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
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7169
  • 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.109 секунд. Запросов: 24.