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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: клавиатура андрооид  (Прочитано 2258 раз)
shtrix
Гость
« : Ноябрь 20, 2016, 00:36 »

Имеется  такое окно (рис.1)

рис.1
   
рис.2
   
рис.3

при тапе в textedit (рис.2) появляется клавиатура занимая часть экрана(уменьшается высота окна)
при повторном тапе в textedit (рис.3)окно разворачивается на весь экран и клавиатура закрывает пол окна

Как запретить при повторном тапе в textedit изменение размера окна при активной клавиатуре?
или как отследить клавиатура активна или нет?


Код:
import QtQuick 2.5
import QtQuick.Window 2.2

Window {
    
    visible: true
    width: 640
    height: 480
    title: qsTr("Test")
    
    Column {
        id: column1
        anchors.fill: parent
        anchors.bottomMargin: 1
        anchors.topMargin: 1
        anchors.leftMargin: 1
        anchors.rightMargin: 1

        Flickable {
            id: flick
            width: parent.width;
            height:parent.height-80;
            contentHeight: edit2.paintedHeight+50
            contentWidth: edit.paintedWidth
            clip: true
            function ensureVisible(r)
            {
                if (contentX >= r.x)
                    contentX = r.x;
                else if (contentX+width <= r.x+r.width)
                    contentX = r.x+r.width-width;
                if (contentY >= r.y)
                    contentY = r.y;
                else if (contentY+height <= r.y+r.height)
                    contentY = r.y+r.height-height;
            }

            TextEdit {
                id: edit
                width: flick.width
                height: flick.height
                focus: true
                wrapMode: TextEdit.Wrap
                onCursorRectangleChanged: flick.ensureVisible(cursorRectangle)
            }
        }
        Rectangle {
            id: buttonOk
            anchors.bottom: column1.bottom
            width: parent.width
            height: 80
            color:"#e83333"
            Text {
                id: textButtonOk
                text: qsTr("OK")
                anchors.centerIn: parent
            }
        }
    }
}
« Последнее редактирование: Ноябрь 20, 2016, 00:53 от shtrix » Записан
shtrix
Гость
« Ответ #1 : Ноябрь 28, 2016, 00:01 »

с этим вроде разобрался
заменил в TextEdit - width: flick.width; height: flick.height
на - anchors.fill: parent

Код:
TextEdit {
                id: edit
                anchors.fill: parent
               // width: flick.width
               // height: flick.height
                focus: true
                wrapMode: TextEdit.Wrap
                onCursorRectangleChanged: flick.ensureVisible(cursorRectangle)
            }
        }
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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