forked from openkylin/ukui-system-appwidget
init
This commit is contained in:
commit
3b5ce8593f
|
@ -0,0 +1,270 @@
|
||||||
|
import QtQuick 2.0
|
||||||
|
import QtQml 2.12
|
||||||
|
import QtQuick.Layouts 1.12
|
||||||
|
import org.ukui.appwidget 1.0
|
||||||
|
//import QtQuick.Controls 2.0
|
||||||
|
AppWidget {
|
||||||
|
id:appwidget
|
||||||
|
appname: "time"
|
||||||
|
visible: true
|
||||||
|
width: 448
|
||||||
|
height: 162
|
||||||
|
// color: "gray"
|
||||||
|
// color: "transparent"
|
||||||
|
// border.color: "red"
|
||||||
|
// radius: 15
|
||||||
|
property string timeformat: "12";
|
||||||
|
property string dateformat: "cn"
|
||||||
|
property string hour;
|
||||||
|
property string minute;
|
||||||
|
property int hournumber;
|
||||||
|
property string week;
|
||||||
|
property string amorpm;
|
||||||
|
property bool v: false
|
||||||
|
property string themename;
|
||||||
|
|
||||||
|
Timer {
|
||||||
|
id: gettime;
|
||||||
|
interval: 100;
|
||||||
|
running: true;
|
||||||
|
repeat: true;
|
||||||
|
triggeredOnStart: true
|
||||||
|
onTriggered: {
|
||||||
|
appwidget.hour = Qt.formatTime(new Date(),"hh");
|
||||||
|
appwidget.minute = Qt.formatTime(new Date(),"mm");
|
||||||
|
if(appwidget.timeformat === "12") {
|
||||||
|
appwidget.hournumber = Number(appwidget.hour);
|
||||||
|
if(appwidget.hournumber > 12) {
|
||||||
|
if(appwidget.dateformat == "cn") {
|
||||||
|
ampm.text = "下午"
|
||||||
|
}
|
||||||
|
else if(appwidget.dateformat == "en") {
|
||||||
|
ampm.text = "PM"
|
||||||
|
}
|
||||||
|
appwidget.hournumber -= 12;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if(appwidget.dateformat == "cn") {
|
||||||
|
ampm.text = "上午"
|
||||||
|
}
|
||||||
|
else if(appwidget.dateformat == "en") {
|
||||||
|
ampm.text = "AM"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(appwidget.hournumber < 10) {
|
||||||
|
time1rec.width = 244
|
||||||
|
time1.width = 244
|
||||||
|
// console.log("=12制 宽度=",time1rec.width);
|
||||||
|
}else {
|
||||||
|
time1rec.width = 294
|
||||||
|
time1.width = 294
|
||||||
|
// console.log("=12制 宽度=",time1rec.width);
|
||||||
|
}
|
||||||
|
|
||||||
|
appwidget.hour = appwidget.hournumber.toString();
|
||||||
|
time1.text = appwidget.hour + ":" + appwidget.minute
|
||||||
|
// console.log("=12制=",time1.text);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
time2.text = appwidget.hour + ":" + appwidget.minute
|
||||||
|
// console.log("=24制=",time2.text);
|
||||||
|
}
|
||||||
|
week1.text = Qt.formatDate(new Date(),"ddd")
|
||||||
|
week2.text = Qt.formatDate(new Date(),"ddd")
|
||||||
|
|
||||||
|
if(dateformat == "cn") {
|
||||||
|
date1.text = Qt.formatDate(new Date(),"MM/dd");
|
||||||
|
date2.text = Qt.formatDate(new Date(),"MM/dd");
|
||||||
|
}
|
||||||
|
if(dateformat == "en") {
|
||||||
|
date1.text = Qt.formatDate(new Date(),"MM-dd");
|
||||||
|
date2.text = Qt.formatDate(new Date(),"MM-dd");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
id :twelverec
|
||||||
|
color: "transparent"
|
||||||
|
// radius: 15
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
visible: !v
|
||||||
|
Rectangle {
|
||||||
|
id :time1rec
|
||||||
|
color: "transparent"
|
||||||
|
// border.color: "green"
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
width: 244
|
||||||
|
height: 112
|
||||||
|
Text {
|
||||||
|
id: time1
|
||||||
|
anchors.fill:parent
|
||||||
|
verticalAlignment: TextInput.AlignVCenter
|
||||||
|
color: "#FAFAFA"
|
||||||
|
font.pixelSize:112
|
||||||
|
font.letterSpacing: 0
|
||||||
|
font.family: "STxihei"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Rectangle {
|
||||||
|
//间隔
|
||||||
|
id :spacing1
|
||||||
|
width: 16
|
||||||
|
height: 112
|
||||||
|
anchors.left: time1rec.right
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
color: "transparent"
|
||||||
|
}
|
||||||
|
Rectangle {
|
||||||
|
id :daterec
|
||||||
|
color: "transparent"
|
||||||
|
// border.color: "pink"
|
||||||
|
width: 137
|
||||||
|
height: 96
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
Layout.fillWidth: true
|
||||||
|
anchors.left: spacing1.right
|
||||||
|
|
||||||
|
ColumnLayout{
|
||||||
|
width: 137
|
||||||
|
height: 96
|
||||||
|
anchors.centerIn: parent
|
||||||
|
Text {
|
||||||
|
id: ampm
|
||||||
|
color: "#FAFAFA";
|
||||||
|
font.pixelSize:40;
|
||||||
|
font.letterSpacing: 0
|
||||||
|
font.family: "STxihei"
|
||||||
|
verticalAlignment: TextInput.AlignVCenter
|
||||||
|
}
|
||||||
|
RowLayout {
|
||||||
|
Text {
|
||||||
|
id: week1
|
||||||
|
color: "#FAFAFA";
|
||||||
|
font.pixelSize: 28;
|
||||||
|
font.letterSpacing: 0
|
||||||
|
font.family: "STxihei"
|
||||||
|
verticalAlignment: TextInput.AlignVCenter
|
||||||
|
}
|
||||||
|
Text {
|
||||||
|
id: date1
|
||||||
|
color: "#FAFAFA";
|
||||||
|
font.pixelSize: 28;
|
||||||
|
font.letterSpacing: 0
|
||||||
|
font.family: "STxihei"
|
||||||
|
verticalAlignment: TextInput.AlignVCenter
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Rectangle{
|
||||||
|
id :twentyfoursystem
|
||||||
|
color: "transparent"
|
||||||
|
// radius: 15
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
visible: v
|
||||||
|
Rectangle {
|
||||||
|
id :time2rec
|
||||||
|
color: "transparent"
|
||||||
|
// border.color: "pink"
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
width: 294
|
||||||
|
height: 112
|
||||||
|
Text {
|
||||||
|
id: time2
|
||||||
|
anchors.fill:parent
|
||||||
|
verticalAlignment: TextInput.AlignVCenter
|
||||||
|
color: "#FAFAFA"
|
||||||
|
font.pixelSize:112
|
||||||
|
font.letterSpacing:0
|
||||||
|
font.family: "STxihei"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Rectangle {
|
||||||
|
//间隔
|
||||||
|
id :spacing2
|
||||||
|
width: 16
|
||||||
|
height: 112
|
||||||
|
anchors.left: time2rec.right
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
color: "transparent"
|
||||||
|
}
|
||||||
|
Rectangle {
|
||||||
|
color: "transparent"
|
||||||
|
width: 87
|
||||||
|
height: 112
|
||||||
|
Layout.fillWidth: true
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
anchors.left: spacing2.right
|
||||||
|
|
||||||
|
ColumnLayout{
|
||||||
|
width: 87
|
||||||
|
height: 112
|
||||||
|
anchors.centerIn: parent
|
||||||
|
Layout.fillWidth: true
|
||||||
|
Text {
|
||||||
|
id: week2
|
||||||
|
color: "#FAFAFA";
|
||||||
|
font.pixelSize:40;
|
||||||
|
font.letterSpacing: 0
|
||||||
|
font.family: "STxihei"
|
||||||
|
verticalAlignment: TextInput.AlignVCenter
|
||||||
|
}
|
||||||
|
Text {
|
||||||
|
id: date2
|
||||||
|
color: "#FAFAFA";
|
||||||
|
font.pixelSize:40;
|
||||||
|
font.letterSpacing: 0
|
||||||
|
font.family: "STxihei"
|
||||||
|
verticalAlignment: TextInput.AlignVCenter
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Component.onCompleted: {
|
||||||
|
|
||||||
|
gettime.start();
|
||||||
|
// appwidget.update.connect(appwidget.onupdate);
|
||||||
|
console.log("qml 接收到数据更新信号");
|
||||||
|
|
||||||
|
appwidget.creatGsetting("org.ukui.control-center.panel.plugins");
|
||||||
|
appwidget.gsettingUpdate.connect(appwidget.onGsettingUpdate);
|
||||||
|
timeformat = appwidget.getGsettingValue("org.ukui.control-center.panel.plugins","hoursystem");
|
||||||
|
dateformat = appwidget.getGsettingValue("org.ukui.control-center.panel.plugins","date");
|
||||||
|
if(timeformat == "24") {
|
||||||
|
v = true
|
||||||
|
}else {
|
||||||
|
v = false
|
||||||
|
}
|
||||||
|
console.log("当前gsetting为", timeformat, dateformat);
|
||||||
|
}
|
||||||
|
function onGsettingUpdate(key, value)
|
||||||
|
{
|
||||||
|
if(key === "hoursystem")
|
||||||
|
{
|
||||||
|
timeformat = value
|
||||||
|
if(timeformat == "24") {
|
||||||
|
v = true
|
||||||
|
}else {
|
||||||
|
v = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(key === "date")
|
||||||
|
{
|
||||||
|
dateformat = value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
[AppWidget]
|
||||||
|
name = time
|
||||||
|
providerName = clock
|
||||||
|
previewPath = /usr/share/appwidgetdemo/clock/time.png
|
||||||
|
qmlFile = /usr/share/appwidget/qml/time.qml
|
||||||
|
zoom = false
|
||||||
|
rightButton = false
|
||||||
|
repeatPlacement = false
|
||||||
|
minWidget = 448
|
||||||
|
minHeight = 162
|
||||||
|
targetCellWidth = 2
|
||||||
|
targetCellHeight = 1
|
||||||
|
updatePeriodMillis = 0
|
||||||
|
describe = this is a datetime
|
Binary file not shown.
After Width: | Height: | Size: 30 KiB |
|
@ -0,0 +1,270 @@
|
||||||
|
import QtQuick 2.0
|
||||||
|
import QtQml 2.12
|
||||||
|
import QtQuick.Layouts 1.12
|
||||||
|
import org.ukui.appwidget 1.0
|
||||||
|
//import QtQuick.Controls 2.0
|
||||||
|
AppWidget {
|
||||||
|
id:appwidget
|
||||||
|
appname: "time"
|
||||||
|
visible: true
|
||||||
|
width: 448
|
||||||
|
height: 162
|
||||||
|
// color: "gray"
|
||||||
|
// color: "transparent"
|
||||||
|
// border.color: "red"
|
||||||
|
// radius: 15
|
||||||
|
property string timeformat: "12";
|
||||||
|
property string dateformat: "cn"
|
||||||
|
property string hour;
|
||||||
|
property string minute;
|
||||||
|
property int hournumber;
|
||||||
|
property string week;
|
||||||
|
property string amorpm;
|
||||||
|
property bool v: false
|
||||||
|
property string themename;
|
||||||
|
|
||||||
|
Timer {
|
||||||
|
id: gettime;
|
||||||
|
interval: 100;
|
||||||
|
running: true;
|
||||||
|
repeat: true;
|
||||||
|
triggeredOnStart: true
|
||||||
|
onTriggered: {
|
||||||
|
appwidget.hour = Qt.formatTime(new Date(),"hh");
|
||||||
|
appwidget.minute = Qt.formatTime(new Date(),"mm");
|
||||||
|
if(appwidget.timeformat === "12") {
|
||||||
|
appwidget.hournumber = Number(appwidget.hour);
|
||||||
|
if(appwidget.hournumber > 12) {
|
||||||
|
if(appwidget.dateformat == "cn") {
|
||||||
|
ampm.text = "下午"
|
||||||
|
}
|
||||||
|
else if(appwidget.dateformat == "en") {
|
||||||
|
ampm.text = "PM"
|
||||||
|
}
|
||||||
|
appwidget.hournumber -= 12;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if(appwidget.dateformat == "cn") {
|
||||||
|
ampm.text = "上午"
|
||||||
|
}
|
||||||
|
else if(appwidget.dateformat == "en") {
|
||||||
|
ampm.text = "AM"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(appwidget.hournumber < 10) {
|
||||||
|
time1rec.width = 244
|
||||||
|
time1.width = 244
|
||||||
|
// console.log("=12制 宽度=",time1rec.width);
|
||||||
|
}else {
|
||||||
|
time1rec.width = 294
|
||||||
|
time1.width = 294
|
||||||
|
// console.log("=12制 宽度=",time1rec.width);
|
||||||
|
}
|
||||||
|
|
||||||
|
appwidget.hour = appwidget.hournumber.toString();
|
||||||
|
time1.text = appwidget.hour + ":" + appwidget.minute
|
||||||
|
// console.log("=12制=",time1.text);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
time2.text = appwidget.hour + ":" + appwidget.minute
|
||||||
|
// console.log("=24制=",time2.text);
|
||||||
|
}
|
||||||
|
week1.text = Qt.formatDate(new Date(),"ddd")
|
||||||
|
week2.text = Qt.formatDate(new Date(),"ddd")
|
||||||
|
|
||||||
|
if(dateformat == "cn") {
|
||||||
|
date1.text = Qt.formatDate(new Date(),"MM/dd");
|
||||||
|
date2.text = Qt.formatDate(new Date(),"MM/dd");
|
||||||
|
}
|
||||||
|
if(dateformat == "en") {
|
||||||
|
date1.text = Qt.formatDate(new Date(),"MM-dd");
|
||||||
|
date2.text = Qt.formatDate(new Date(),"MM-dd");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
id :twelverec
|
||||||
|
color: "transparent"
|
||||||
|
// radius: 15
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
visible: !v
|
||||||
|
Rectangle {
|
||||||
|
id :time1rec
|
||||||
|
color: "transparent"
|
||||||
|
// border.color: "green"
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
width: 244
|
||||||
|
height: 112
|
||||||
|
Text {
|
||||||
|
id: time1
|
||||||
|
anchors.fill:parent
|
||||||
|
verticalAlignment: TextInput.AlignVCenter
|
||||||
|
color: "#FAFAFA"
|
||||||
|
font.pixelSize:112
|
||||||
|
font.letterSpacing: 0
|
||||||
|
font.family: "STxihei"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Rectangle {
|
||||||
|
//间隔
|
||||||
|
id :spacing1
|
||||||
|
width: 16
|
||||||
|
height: 112
|
||||||
|
anchors.left: time1rec.right
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
color: "transparent"
|
||||||
|
}
|
||||||
|
Rectangle {
|
||||||
|
id :daterec
|
||||||
|
color: "transparent"
|
||||||
|
// border.color: "pink"
|
||||||
|
width: 137
|
||||||
|
height: 96
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
Layout.fillWidth: true
|
||||||
|
anchors.left: spacing1.right
|
||||||
|
|
||||||
|
ColumnLayout{
|
||||||
|
width: 137
|
||||||
|
height: 96
|
||||||
|
anchors.centerIn: parent
|
||||||
|
Text {
|
||||||
|
id: ampm
|
||||||
|
color: "#FAFAFA";
|
||||||
|
font.pixelSize:40;
|
||||||
|
font.letterSpacing: 0
|
||||||
|
font.family: "STxihei"
|
||||||
|
verticalAlignment: TextInput.AlignVCenter
|
||||||
|
}
|
||||||
|
RowLayout {
|
||||||
|
Text {
|
||||||
|
id: week1
|
||||||
|
color: "#FAFAFA";
|
||||||
|
font.pixelSize: 28;
|
||||||
|
font.letterSpacing: 0
|
||||||
|
font.family: "STxihei"
|
||||||
|
verticalAlignment: TextInput.AlignVCenter
|
||||||
|
}
|
||||||
|
Text {
|
||||||
|
id: date1
|
||||||
|
color: "#FAFAFA";
|
||||||
|
font.pixelSize: 28;
|
||||||
|
font.letterSpacing: 0
|
||||||
|
font.family: "STxihei"
|
||||||
|
verticalAlignment: TextInput.AlignVCenter
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Rectangle{
|
||||||
|
id :twentyfoursystem
|
||||||
|
color: "transparent"
|
||||||
|
// radius: 15
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
visible: v
|
||||||
|
Rectangle {
|
||||||
|
id :time2rec
|
||||||
|
color: "transparent"
|
||||||
|
// border.color: "pink"
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
width: 294
|
||||||
|
height: 112
|
||||||
|
Text {
|
||||||
|
id: time2
|
||||||
|
anchors.fill:parent
|
||||||
|
verticalAlignment: TextInput.AlignVCenter
|
||||||
|
color: "#FAFAFA"
|
||||||
|
font.pixelSize:112
|
||||||
|
font.letterSpacing:0
|
||||||
|
font.family: "STxihei"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Rectangle {
|
||||||
|
//间隔
|
||||||
|
id :spacing2
|
||||||
|
width: 16
|
||||||
|
height: 112
|
||||||
|
anchors.left: time2rec.right
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
color: "transparent"
|
||||||
|
}
|
||||||
|
Rectangle {
|
||||||
|
color: "transparent"
|
||||||
|
width: 87
|
||||||
|
height: 112
|
||||||
|
Layout.fillWidth: true
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
anchors.left: spacing2.right
|
||||||
|
|
||||||
|
ColumnLayout{
|
||||||
|
width: 87
|
||||||
|
height: 112
|
||||||
|
anchors.centerIn: parent
|
||||||
|
Layout.fillWidth: true
|
||||||
|
Text {
|
||||||
|
id: week2
|
||||||
|
color: "#FAFAFA";
|
||||||
|
font.pixelSize:40;
|
||||||
|
font.letterSpacing: 0
|
||||||
|
font.family: "STxihei"
|
||||||
|
verticalAlignment: TextInput.AlignVCenter
|
||||||
|
}
|
||||||
|
Text {
|
||||||
|
id: date2
|
||||||
|
color: "#FAFAFA";
|
||||||
|
font.pixelSize:40;
|
||||||
|
font.letterSpacing: 0
|
||||||
|
font.family: "STxihei"
|
||||||
|
verticalAlignment: TextInput.AlignVCenter
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Component.onCompleted: {
|
||||||
|
|
||||||
|
gettime.start();
|
||||||
|
// appwidget.update.connect(appwidget.onupdate);
|
||||||
|
console.log("qml 接收到数据更新信号");
|
||||||
|
|
||||||
|
appwidget.creatGsetting("org.ukui.control-center.panel.plugins");
|
||||||
|
appwidget.gsettingUpdate.connect(appwidget.onGsettingUpdate);
|
||||||
|
timeformat = appwidget.getGsettingValue("org.ukui.control-center.panel.plugins","hoursystem");
|
||||||
|
dateformat = appwidget.getGsettingValue("org.ukui.control-center.panel.plugins","date");
|
||||||
|
if(timeformat == "24") {
|
||||||
|
v = true
|
||||||
|
}else {
|
||||||
|
v = false
|
||||||
|
}
|
||||||
|
console.log("当前gsetting为", timeformat, dateformat);
|
||||||
|
}
|
||||||
|
function onGsettingUpdate(key, value)
|
||||||
|
{
|
||||||
|
if(key === "hoursystem")
|
||||||
|
{
|
||||||
|
timeformat = value
|
||||||
|
if(timeformat == "24") {
|
||||||
|
v = true
|
||||||
|
}else {
|
||||||
|
v = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(key === "date")
|
||||||
|
{
|
||||||
|
dateformat = value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
#include <QGuiApplication>
|
||||||
|
#include <QQmlApplicationEngine>
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
|
||||||
|
|
||||||
|
QGuiApplication app(argc, argv);
|
||||||
|
|
||||||
|
QQmlApplicationEngine engine;
|
||||||
|
const QUrl url(QStringLiteral("qrc:/main.qml"));
|
||||||
|
QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
|
||||||
|
&app, [url](QObject *obj, const QUrl &objUrl) {
|
||||||
|
if (!obj && url == objUrl)
|
||||||
|
QCoreApplication::exit(-1);
|
||||||
|
}, Qt::QueuedConnection);
|
||||||
|
engine.load(url);
|
||||||
|
|
||||||
|
return app.exec();
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
import QtQuick 2.12
|
||||||
|
import QtQuick.Window 2.12
|
||||||
|
|
||||||
|
Window {
|
||||||
|
visible: true
|
||||||
|
width: 640
|
||||||
|
height: 480
|
||||||
|
color: "black"
|
||||||
|
title: qsTr("Hello World")
|
||||||
|
|
||||||
|
|
||||||
|
Time{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
<RCC>
|
||||||
|
<qresource prefix="/">
|
||||||
|
<file>main.qml</file>
|
||||||
|
<file>data/time/time.conf</file>
|
||||||
|
<file>data/time/time.png</file>
|
||||||
|
<file>data/time/time.qml</file>
|
||||||
|
<file>Time.qml</file>
|
||||||
|
</qresource>
|
||||||
|
</RCC>
|
|
@ -0,0 +1,36 @@
|
||||||
|
QT += quick
|
||||||
|
|
||||||
|
CONFIG += c++11
|
||||||
|
|
||||||
|
# The following define makes your compiler emit warnings if you use
|
||||||
|
# any Qt feature that has been marked deprecated (the exact warnings
|
||||||
|
# depend on your compiler). Refer to the documentation for the
|
||||||
|
# deprecated API to know how to port your code away from it.
|
||||||
|
DEFINES += QT_DEPRECATED_WARNINGS
|
||||||
|
|
||||||
|
# You can also make your code fail to compile if it uses deprecated APIs.
|
||||||
|
# In order to do so, uncomment the following line.
|
||||||
|
# You can also select to disable deprecated APIs only up to a certain version of Qt.
|
||||||
|
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
||||||
|
|
||||||
|
SOURCES += \
|
||||||
|
main.cpp
|
||||||
|
|
||||||
|
RESOURCES += qml.qrc
|
||||||
|
|
||||||
|
# Additional import path used to resolve QML modules in Qt Creator's code model
|
||||||
|
QML_IMPORT_PATH =
|
||||||
|
|
||||||
|
# Additional import path used to resolve QML modules just for Qt Quick Designer
|
||||||
|
QML_DESIGNER_IMPORT_PATH =
|
||||||
|
|
||||||
|
# Default rules for deployment.
|
||||||
|
target.path = /usr/bin
|
||||||
|
timeqml.files += data/time/time.qml
|
||||||
|
timeqml.path = /usr/share/appwidget/qml/
|
||||||
|
timecong.files += data/time/time.conf
|
||||||
|
timecong.path = /usr/share/appwidget/config/
|
||||||
|
timepreview.files += data/time/time.png
|
||||||
|
timepreview.path = /usr/share/appwidgetdemo/clock/
|
||||||
|
|
||||||
|
INSTALLS += target timeqml timepreview timecong
|
Loading…
Reference in New Issue