时间选择器
TimePicker
允许用户选择时间(小时和分钟,可选 AM/PM 指示符)。它显示为一个按钮,上面有当前选定的时间(或占位符)。点击后,会打开一个自定义的选择器视图(内部为 PickerView
组件),允许用户更改时间。
基本时间选择器(12 小时制)
默认情况下,TimePicker
使用 12 小时制时钟格式,并带有 AM/PM 选择器。显示的小时、分钟和 AM/PM 值基于组件的当前选择。

qml
import QtQuick 2.15
import RinUI
// ...
TimePicker {
id: myTimePicker
width: 250 // 默认 implicitWidth
// 响应时间更改
// 'time' 属性提供 "HH:MM" (24小时制) 格式的时间
onTimeChanged: {
console.log("选定时间 (24小时制格式):", time);
// 也可以访问各个部分:
console.log("小时:", hour, "分钟:", minute, "时段:", hourSystem); // hourSystem 是 AM/PM
}
Component.onCompleted: {
// setTime 需要 "HH:MM" (24小时制) 格式
myTimePicker.setTime("14:30"); // 设置为下午 2:30
}
}
24 小时制时间选择器
将 use24Hour
属性设置为 true
以使用 24 小时制时钟格式。这将隐藏 AM/PM 选择器。

qml
import RinUI // Consistent import
TimePicker {
width: 180 // 没有 AM/PM 时可能需要较小的宽度
use24Hour: true
Component.onCompleted: {
setTime("08:15"); // 设置为上午 8:15
}
}
以编程方式设置时间
setTime()
方法允许您设置选择器的时间。它接受 "HH:MM"(24 小时制)格式的字符串。
qml
import RinUI // Consistent import
TimePicker {
id: reminderTimePicker
width: 250
function initializeTime() {
// 当前源码中的 setTime 并未明确返回布尔类型的成功标志,
// 但如果格式有效,它会更新属性。
reminderTimePicker.setTime("17:00"); // 下午 5:00
console.log("提醒时间设置为:", reminderTimePicker.time);
}
Component.onCompleted: initializeTime()
}
主要属性
time
:string
(只读) - 所选时间的 "HH:MM"(24 小时制)格式的字符串表示。此属性的更改可以通过onTimeChanged
进行跟踪。hour
:string
(pickerView.value1 的别名) - 选定的小时(字符串,例如12小时制的 "1" 到 "12",或基于内部选择器模型的24小时制的 "0" 到 "23")。minute
:string
(pickerView.value2 的别名) - 选定的分钟(字符串,例如 "0" 到 "59")。hourSystem
:string
(pickerView.value3 的别名) - 对于12小时制,这保存 AM/PM 指示符(例如,由amText
/pmText
定义的 "AM" 或 "PM")。如果use24Hour
为true
,则为undefined
。use24Hour
:bool
- 如果为true
,则使用24小时制时钟格式。默认为false
。amText
:string
- 用于12小时模式下 AM 指示符的文本。默认为本地化的 "AM"。pmText
:string
- 用于12小时模式下 PM 指示符的文本。默认为本地化的 "PM"。hourText
:string
- 未选择/交互时间时小时部分的占位符文本。默认为本地化的 "hour"。minuteText
:string
- 未选择/交互时间时分钟部分的占位符文本。默认为本地化的 "minute"。enabled
:bool
- 控件是否可交互。继承自Control
。
方法
setTime(string hhmm)
: 设置选择器的当前时间。输入字符串必须为 "HH:MM"(24 小时制)格式(例如,"08:15" 或 "14:30")。像 "8:15" 这样的输入可能无法工作;如果组件解析需要,请确保单位数小时有前导零。
TimePicker
本身是一个 Button
,因此与按钮样式和行为相关的属性也可以应用于其外观。