Политика конфиденциальностиКонтактыО сайтеОтзывыGitHubDonate
© EVILEG 2015-2018
Рекомендует хостинг
TIMEWEB
s
11 февраля 2019 г. 19:12

Qt/QML/Android(navigation button)

Можно обрабатывать back кнопку так как работает кнопка home? Если можно то как?? Это нужно обрабатываться через JNI? Буду благодарен за любую помощь.

3

Нет, JNI тут не потребуется, по моему мнению.

Ну вот один возможный вариант

Rectangle {
focus: true // important - otherwise we'll get no key events

Keys.onReleased: {
    if (event.key == Qt.Key_Back) {
        console.log("Back button captured - wunderbar !")
        event.accepted = true
    }
}
}

вот второй

ApplicationWindow 
{
  onClosing: {
    close.accepted = false
    if (contextMenuManager.menuVisible)
        contextMenuManager.menuVisible = false
  }
}

и третий

import QtQuick 2.3
import QtQuick.Controls 1.2
import QtQuick.Layouts 1.1

ApplicationWindow {
id: appWindow
visible: true
width: 640
height: 480
title: qsTr("Hello World")

ListModel {
    id: longModel

    Component.onCompleted: {
        for ( var i=1; i<=100; i++ )
            append({"testName": i})
    }
}


ListView {
    anchors.fill: parent
    id: listView
    model: longModel

    delegate:
        Rectangle {
            height: 80
        width: parent.width

        Text {
            id: textComponent
            text: testName
        }
        Keys.onReleased: {
            if (event.matches(StandardKey.Back)) {
                console.log("back caught by delegate");
                event.accepted = true;
            }
        }
    }

    focus: true
    Keys.onReleased: {
        if (event.matches(StandardKey.Back)) {
            console.log("back caught by listview");
            event.accepted = true;
        }
    }

}
}
0
s

Когда мы пишем event.accepted = true это значит шо твоя application на закрывается а дальше работает на foreground, но мой вопрос в другом можно чтоб кнопка назад не убивала application, а сделала minimize??

0

но мой вопрос в другом можно чтоб кнопка назад не убивала application, а сделала minimize??

Вам следовало бы сразу соответствующим образом сформулировать вопрос. Разработчики приложения в итоге решают, как поступать и дефолтное поведение может быть переопределено. Есть приложения в которых вообще происходит logout клиента и ничего больше.

Думаю, что тут уже нужно копать в сторону JNI, с фоновой работой всё обстоит несколько сложнее. Требуются настройки AndroidManifest. Здесь не подскажу.

0

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
КА
19 февраля 2019 г. 18:32
Кристина Афанасьева

C++ - Тест 006. Перечисления

  • Результат:70баллов,
  • Очки рейтинга1
КА
19 февраля 2019 г. 18:26
Кристина Афанасьева

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:60баллов,
  • Очки рейтинга-1
КА
19 февраля 2019 г. 18:00
Кристина Афанасьева

C++ - Тест 002. Константы

  • Результат:50баллов,
  • Очки рейтинга-4
Последние комментарии
21 февраля 2019 г. 12:51
Евгений Легоцкой

Иногда CMake приходится перезапускать начисто, не обновляет кэш
R
21 февраля 2019 г. 12:29
RandyGallup

Я указал данные строки, т.к. без них у меня вылетала следующая ошибка: By not providing "FindQt5Core.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configurat...
21 февраля 2019 г. 12:08
BlinCT

Вот атк выглядит мой проектник, посмотрите его. cmake_minimum_required(VERSION 3.6)project(projecttimer)set(CMAKE_CXX_STANDARD 11)set(CMAKE_AUTOMOC ON)set(CMAKE_AUTORCC ON)find_packa...
21 февраля 2019 г. 12:04
BlinCT

Смотрите, если вы используете глобально для проекта -DCMAKE_PREFIX_PATH= то вам не надо уже указывать вот эти строкиset(Qt5Core_DIR "C:/Qt/5.12.1/mingw73_64/lib/cmake/Qt5Core")set(Qt5Gui_DIR...
R
21 февраля 2019 г. 11:54
RandyGallup

Даже не запускается. main.cpp у меня точно такой же, как в статье. CMakeLists.txt пришлось немного подправить (прикрепил ниже), т.к. не находились некоторые файлы. cmake_minimum_requi...
Сейчас обсуждают на форуме
21 февраля 2019 г. 8:58
Евгений Легоцкой

Ну у меня координаты передавались в зависимости от положения курсора мыши, а в вам по сути нужно будет аналогичным способом посылать даннные из полей ввода. Так что здесь скорее интерфес...
20 февраля 2019 г. 21:55
Евгений Легоцкой

Не до конца понимаю сути вопроса, наверное, нужно увидеть программный код и попытку его применения, но к методам базового класса можно обращаться в наследованном классе через вызов по имени ба...
MU
20 февраля 2019 г. 15:06
Maciej Urmański

Yes, ok I have solution! Thank you for directing me about annotate.:) Solution is: users_in = User.objects.filter(joined_users__goal=goal, joined_users__joined=True)
20 февраля 2019 г. 14:40
Евгений Легоцкой

Думаю, что ещё можно переопределить mouseReleaseEvent(QMouseEvent* event) у QTableView, который содержит модель и немного поиграться с индексом. Если это индекс, который соответству...
20 февраля 2019 г. 10:34
Евгений Легоцкой

Да, так тоже можно. Единственный момент в том, что lupdate не всегда понимает, к какому контексту это дело относится, и может запихать в левый контекст. В небольшом проекте это не критич...
Присоединяйтесь к нам в социальных сетях

Для зарегистрированных пользователей на сайте присутствует минимальное количество рекламы