【问题标题】:Is there any DatePicker control for Qt 5?Qt 5 是否有任何 DatePicker 控件?
【发布时间】:2014-02-04 20:28:43
【问题描述】:

我正在为 QtQuick 2.0 编写我的第一个 QML/Javascript 应用程序。 我需要放置一个 DatePicker 控件,但我没有在 QtQuick.Controls 下找到任何类似的控件——事实上,在任何地方都没有——。

我开始相信没有办法在 QML 中调用“本机”DatePicker。我必须实现一个还是存在一个?

【问题讨论】:

  • QtQuick 2.0 中还没有 DatePicker 组件,但您可以在 google 上找到一些实现,例如:qt-project.org/doc/qt-5.1/qtquick/…
  • 谢谢,但是当你关注它时,我看起来更像是一个带有“日历”的 TextField。
  • 根据这个例子或你在网上找到的其他例子,我认为你必须自己做一个

标签: datepicker qml qtquick2


【解决方案1】:

**日期选择器的代码。试试这个**

*TextField {
    id: textDate
    x: 10
    y: 42
    width: 175
    height: 33
    placeholderText: qsTr("Text Field")
    text:Qt.formatDate(cal.selectedDate, "dd-MM-yyyy")
    font.bold: true
    font.family:"times new roman"
    font.pointSize: 12
}
Button {
    id: button
    x: 198
    y: 42
    width: 25
    height: 29
    Image {
        x: -4
        y: -4
        id: img
        width: 36
            height: 44
            source: "/Images/calendar-512.png"
    }
    onClicked:{
        cal.visible=true
    }
}
Calendar{
           id:cal
           x: 10
           y: 82
           width: 220
           height: 205
           visible: false
           selectedDate: new Date()
           onClicked:  {
               textDate.text=Qt.formatDate(cal.selectedDate, "dd-MM-yyyy");
                cal.visible=false
           }
}*

【讨论】:

    【解决方案2】:

    以防万一其他人偶然发现这一点,现在 QtQuick.Controls 中有一个 Calendar 元素。这应该会使Datepicker 的实现更容易:http://qt-project.org/doc/qt-5/qml-qtquick-controls-calendar.html

    【讨论】:

    • 该问题指定了 QtQuick 2.0,我认为这意味着 QtQuick.Controls 2.x。这个 Calendar 元素来自 QtQuick.Controls 1.4。这很有帮助,但在同一个应用程序中混合使用多个主要版本的 QtQuick 可能会带来一些缺点。
    【解决方案3】:

    好吧,我必须自己控制。它被称为日期选择器

    打算这样使用:

    import QtQuick.Controls 1.1
    
    ApplicationWindow {
        id: main
    
        Datepicker {
            id: myDate
            activeWindow: main
            width: 200
        }
    }
    

    它假定您从 Window 对象中使用它,并且需要父引用以在正确的位置显示日期选择器(它在新窗口中显示日历)。

    您可以从以下位置下载源代码: https://bitbucket.org/camolin3/datepicker

    这是第一个版本,需要大量润色才能准备好,但只是一个起点。

    【讨论】:

      猜你喜欢
      • 2018-11-11
      • 1970-01-01
      • 2021-01-15
      • 2012-09-17
      • 2011-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-01
      相关资源
      最近更新 更多