Privacy policyContactsAbout siteOpinionsGitHubDonate
© EVILEG 2015-2018
Recommend hosting
TIMEWEB
March 28, 2019, 7:59 a.m.

Как в QML поставить картинку на кнопку

QML, button

Добрый день.

Как в QML поставить картинку на кнопку?

Изображения я пом естил в ресурсы:

10% refund of hotel reservation amount on Booking
10% refund of hotel reservation amount on Booking
We offer a link with a 10% return on the amount of the order when booking a hotel through Booking
14

Добрый день.

Ну думаю, что будет примерно так

ToolButton {
    text: qsTr("⋮")
    onClicked: { 
        // ToDo sometthing
    }
    icon.source: "qrc:/images/black.png"
}
0

вот так работает, но картинка как иконка, занимает часть кнопки. но как ее растянуть на всю кнопку?

icon.source: "qrc:/images/images/black.png"
0

Вот так можно за кнопекой поставить рисунок, но не заменит рисунок кнопки нужным рисунком

        Image {
            id: name
            source: "qrc:/images/images/black.png"
        }
0

Так вы не знаете, как это можно сделать?

0

Помимо icon.source есть ещё свойства icon.width и icon.height, которыми можно задать высоту и ширину изображения.

Либо можно без кнопки сделать

import QtQuick 2.9
import QtQuick.Window 2.2
import QtQuick.Controls 2.2

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")

    MouseArea {
        anchors.centerIn: parent
        width: 100
        height: 100

        Image {
            anchors.fill: parent
            id: name
            source: "qrc:/account-card-details.png"
        }

        onPressed: {
            // ToDo something
            console.log("hello")
        }
    }
}
0

я с таким сталкивался в qt редакторе, там тоже особым сойством задавалась картинка на весь объем кнопки, жалко что не помню каким и не могу провести аналогию. наверняка тут тоже должно быть что то похожее

0

Не обязательно. Долгое время в Quick.Controls 2 не было обычного TableView

Что касается методов кнопки, то посмотрите тогда полный список в документации

Также обратите внимание на свойство display

0

Попробовал задание размеров иконки, но к желаемому результату не привело.

Вспомнил, с помощью метода

button->setStyleSheet("background-image: url(адрес картинки)")

можно задать картинку на кнопку в Qt дизайнере. Я в QML пока не нашел похожего. Может Вы знвете аналог?

0

или может быть, как вариант кастыли, поверх кнопки поставить картинку, но будет ли тогда работать кнопка?

0

Нашел, вот так картинка заполняет кнопку:

Image {
            anchors.fill: parent
            source: "qrc:/images/images/black.png"
            fillMode: Image.Tile
        }

Тут есть еще другие решения и другие костыли

0

Вот только при растягивании кнопки картинки замостились, а нужно одну картинку растянуть на кнопку. Не знаете, как это можно сделать?

0

Поменял режим заливки на Stretch и заработало

0

Это точно не костыли, это обычная вёрстка в QML

0

ясно

0

Comments

Only authorized users can post comments.
Please, Log in or Sign up
AA
April 17, 2019, 7:40 p.m.
Anton Ablin

Qt - Test 001. Signals and slots

  • Result:73points,
  • Rating points1
E
April 17, 2019, 6:16 p.m.
Evgeny

Qt - Test 001. Signals and slots

  • Result:100points,
  • Rating points10
E
April 17, 2019, 6:14 p.m.
Evgeny

Qt - Test 001. Signals and slots

  • Result:78points,
  • Rating points2
Last comments
U
April 18, 2019, 3:37 p.m.
Unreal_man

А как иконку в хедер задать?
u
April 18, 2019, 2:15 a.m.
uaa

доброго времени,большое спасибо за пример для начинающего)при адаптации к своему проекту столкнулся с таким ньансом:в vepolyline.h в 47 строке нужна инициализация по умолчанию: int m_pointF...
E
April 11, 2019, 12:49 p.m.
Evgeny

Спасибо за ответ) У меня компоновщик на нее ругался просто. Оказалось, просто забыл Q_OBJECT в начале класса указать.
April 11, 2019, 12:29 p.m.
Евгений Легоцкой

Добрый день. Вы имели ввиду реализацию? Для сигналов в Qt реализация не пишется, это всё генерируется в moc файлах под капотом Qt.
E
April 11, 2019, 12:15 p.m.
Evgeny

Здравствуйте. А где описание функции signal1()?
Now discuss on the forum
R
April 19, 2019, 9:55 a.m.
RED_Spider

мені важко це зараз навіть перевірити, тому що знайшов коміт, це ще було в 2016 році, і цей код не буде працювати коректно зараз, єдине скажу що це були QThread
i
April 17, 2019, 3:03 p.m.
ilya.guzikov

BlinCT, на стороне ++ это делать необходимо так как в qml при использовании функции append происходит перерисовка всех точек лини(как я понимаю) и из-за этого при использовании больших массиво...
April 10, 2019, 11:20 a.m.
Алексей Внуков

может тоже кому надо будет - QML не принимает QVector<QVector<int>> , при попытке вывести полученый вектор QML показывает что это QVariant(QVector<QVector<int> ...
SN
April 10, 2019, 9:36 a.m.
Stanislav Nykytiuk

Как реализовать такое меню, что бы нажмаешь меню подменю и выбор позиции? Данные меню и подменю в базе SQL.
Join us in social networks

For registered users on the site there is a minimum amount of advertising