@WTFAYD

Почему только одна из кнопок реагирует на нажатие клавиш?

Здравствуйте!
Задание - сделать столбец из определенного количества кнопок (от 1 до 9), каждая из которых реагирует на нажатие сочетания клавиш Alt + [номер кнопки].

Написал такой код для кнопки:
import QtQuick 2.0

Rectangle {
    property bool opened: false
    property int number: 0

    width: 40
    height: 20
    color: (opened) ? "orange" : "grey"
    border.width: 1
    focus: true

    Text {
        anchors.centerIn: parent
        text: "Кл. " + number
        font.pixelSize: parent.width * 0.3
    }

    Keys.onPressed: {
        if (number <= 9 && number >= 0 &&
            event.key == (Qt.Key_0 + number) && (event.modifiers & Qt.AltModifier))
        {
            opened = (opened) ? false : true;
            event.accepted = true;
        }
    }
}


Однако, если закинуть несколько кнопок в Column, то на нажатие клавиш реагирует только первая по списку кнопка в столбце:
Column {
    Button {
        focus: true
        number: 1
    }
    Button {
        focus: true
        number: 2
    }
    ....
}


Подскажите пожалуйста, в чем проблема?
  • Вопрос задан
  • 143 просмотра
Пригласить эксперта
Ответы на вопрос 1
Zifix
@Zifix Куратор тега Qt
Barbatum
А с чего вы взяли, что фокус будет одновременно на всех кнопках?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
20 апр. 2024, в 14:27
3000 руб./за проект
20 апр. 2024, в 13:56
7000 руб./за проект
20 апр. 2024, в 13:52
7000 руб./за проект