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
|
#include "uiurlbutton.h"
#include <QAbstractButton>
#include <QDesktopServices>
#include <QUrl>
UiUrlButton::UiUrlButton()
{
}
const char* UiUrlButton::getPropertyName() const
{
return "openUrl";
}
void UiUrlButton::handle(QWidget* widget, const QVariant& value)
{
QAbstractButton* btn = dynamic_cast<QAbstractButton*>(widget);
QString url = value.toString();
if (btn)
{
QObject::connect(btn, &QAbstractButton::clicked, [url](bool)
{
QDesktopServices::openUrl(QUrl(url, QUrl::StrictMode));
});
}
}
|