Форум программистов, компьютерный форум, киберфорум
QML
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
16 / 16 / 0
Регистрация: 26.02.2013
Сообщений: 394
1

Самодельная кнопка не "отжимается" ?

12.11.2020, 22:45. Просмотров 1746. Ответов 2
Метки нет (Все метки)

Нажатие меняет состояние, как и должно, но "отжимается" кнопка только когда мышью с нее слазишь (как и должно). А как бы сделать так чтобы после включения состояния нажатия, оно бы само возвращалось к дефолтному ?

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import QtQuick 2.12
 
Rectangle {
    id: root
 
    signal btn_pressed
 
    property string txt: "Button"
    property color txt_color:"#5bec74"
    property int font_size: 14
    property color start_grad_color: "#373e40"
    property color end_grad_color: "#4f565b"
    property int old_x
    property int old_y
 
    width: label.paintedWidth+20
    height: label.paintedHeight+12
 
    border.width: 1
    radius: 10
    border.color: "#786565"    
 
    gradient: Gradient {
        GradientStop {position: 0; color: start_grad_color}
        GradientStop {position: 1; color: end_grad_color}
    }
 
 
    Text {
        id: label
        text: txt
        anchors.fill: parent
        horizontalAlignment: Text.AlignHCenter
        verticalAlignment: Text.AlignVCenter
        font.pixelSize: root.font_size
        color: txt_color
 
 
    }
 
    MouseArea {
        anchors.fill: parent
        cursorShape: Qt.PointingHandCursor
        hoverEnabled: true
        onPressed: root.state = "pressed"
        onEntered: root.state = "hovered"
        onExited: root.state = ""
    }
 
    Component.onCompleted: {old_x = x; old_y=y}
 
    states: [
        State {
            name: "hovered"
            PropertyChanges {
                target: root
                start_grad_color: "#42494B"
                end_grad_color: "#61686D"
            }
 
 
        },
        State {
            name: "pressed"
            PropertyChanges {
                target: root
                end_grad_color: "#61686D"
                start_grad_color: "#42494B"
                x: old_x+1
                y: old_y+1
            }
        },
        State {
            name: "disconnected"
            PropertyChanges {
                target: root
                txt: "Disconnected"
                txt_color: "red"
            }
        }
    ]
 
 
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.11.2020, 22:45
Ответы с готовыми решениями:

Как без QML создать окно без стандартных кнопок "свернуть", "закрыть"?
доброе утро, подскажите пожалуйста, как без помощи QML создать окно без стандартных кнопок...

Зависает программа. Кнопка не отжимается
При нажатии на кнопку btnPlay, компьютер издает звуки, но программа перестаёт отвечать. Кнопка...

QWizard кнопка "Finish"
Здравствуйте уважаемые знатоки, изучаю класс QWizard и не могу понять как отследить нажатие кнопки...

Кнопка "сохранить"
Добрый день! В форме есть поле plainTextEdit, в которое вводится текст, кнопка сохранить текст в...

2
Модератор
Эксперт .NET
5303 / 4098 / 1182
Регистрация: 12.10.2013
Сообщений: 11,909
Записей в блоге: 2
12.11.2020, 22:48 2
Цитата Сообщение от BVladimir2 Посмотреть сообщение
как бы сделать так чтобы после включения состояния нажатия, оно бы само возвращалось к дефолтному ?
У компонента MouseArea установить обработчик onPressed/onReleased и в них прописать нужный внешний вид при каждом состоянии кнопки.
1
16 / 16 / 0
Регистрация: 26.02.2013
Сообщений: 394
12.11.2020, 22:56  [ТС] 3
Сработало, спасибо ! Даже не подумал про это
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.11.2020, 22:56

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

операции со строками. Готовые решения перевода строки "1fh"или "0x12f" у целочисленное
Если у qt готовые решения перевода строки "1fh"или "0x12f" у целочисленное ?

QObject::setProperty: невозможно преобразовать параметр 2 из "bool" в "const QVariant &"
Начинаю изучать Qt версии 4.8 по книге Макса Шлее. В ней приводится пример использования свойств...

Диалоговые окна: при вводе данных в поля "К_во" и "Розничная цена" отображать в QLabel их произведение
Есть форма добавления товара. Так вот, как сделать так чтобы при вводе данных в поля "К_во" и...

Add In Visual Studio - не распознаёт надписи "signals" и "public slots"
Ну собственно вопрос в шапке.... Как сказать студии, что такие операторы есть как бы и что их не...

Как получить координаты "pushButton" если он внутри "verticalLayout"
Доброго времени суток! Как получить координаты кнопки если она внутри группировки? У меня по 0...

"QIODevice::read (QFile, "C:/./text.txt"): device not open"
QString filename("C:/.../text.txt"); QFile file(filename); QString data =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.