在使用QML设计界面的时候,用到了时间编辑框,发现QML中没有提供类似QTWidget中的QTimeEdit控件。后来没有办法就自己使用TextField和Calendar封装了一个TimeEdit组件
1、自定义编辑框TimeInput组件
时间编辑框通常都是一个输入框,前部分显示时间后面有个日历的小图标,点击可以显示日历进行选择日期。文本输入框QML中之后TextField和TextInput,但是都不符合这样的界面效果,所以这块也封装实现了一个这样的输入框。
TimeInput组件的实现:
/**************************************
*文件名:TimeInput.qml
***************************************/
import QtQuick 2.0
import QtQml 2.2
import QtQuick.Controls 1.3
import QtQuick.Controls.Styles 1.3
//时间编辑框组件
Rectangle
{
id:rect
width: parent.width
height: parent.height
border.width: 1
border.color: "#333"
/*******************************自定义属性*********************************/
property var locale: Qt.locale()
property alias strTime: textEdit.text
property string oldTime: ""
/**********************************自定义信号*************