Skip to main content

TinUIPicker

为TinUI提供滚动选择器功能控件,相比于原版picker,TinUIPicker套件加入了日期选择、时间选择和日历选择的功能。


TinUIDatePicker

TinUIDatePicker(
    tinui, pos, font=("微软雅黑", 10), command=None, 
    year_range=(2000, 2030), now=datetime.today(), **kwargs
)

# 默认样式表
self.cfg = {
    "fg": kwargs.get("fg", "#1b1b1b"),
    "bg": kwargs.get("bg", "#fbfbfb"),
    "outline": kwargs.get("outline", "#ececec"),
    "activefg": kwargs.get("activefg", "#1b1b1b"),
    "activebg": kwargs.get("activebg", "#f6f6f6"),
    "onbg": kwargs.get("onbg", "#3748d9"),
    "onfg": kwargs.get("onfg", "#eaecfb"),
    "buttonfg": kwargs.get("buttonfg", "#1a1a1a"),
    "buttonbg": kwargs.get("buttonbg", "#f9f9f9"),
    "buttonactivefg": kwargs.get("buttonactivefg", "#1a1a1a"),
    "buttonactivebg": kwargs.get("buttonactivebg", "#f3f3f3"),
    "buttononfg": kwargs.get("buttononfg", "#5d5d5d"),
    "buttononbg": kwargs.get("buttononbg", "#f5f5f5"),
}

command接收一个形如2026-01-30的字符串参数。

set_date(year:int=None, month:int=None, day:int=None)

设置年-月-日,若为None则不变。


TinUITimePicker

TinUITimePicker(
    tinui, pos, font=("微软雅黑", 10),
    is_24h=True, show_sec=True,
    now = datetime.now(),
    command=None, anchor='nw', **kwargs
)

默认样式同TinUIDatePicker

  • is_24h-是否是24小时制,如果否,则开头显示AM和PM选项
  • show_sec-是否可选秒

command接收一个形如16:00:09或者PM 04:00:09的字符串参数。若show_sec为False,则不回传秒。

set_time(hour:int=None, minute:int=None, second:int=None)

设置时-分-秒,若为None则不变。


TinUICalendarPicker

TinUICalendarPicker(
    tinui, pos, font=("微软雅黑", 10),
    command=None,
    now=datetime.today(), anchor='nw', **kwargs
)

默认样式同TinUIDatePicker。本控件提供日历样式的日期选择功能。

command接收一个形如2026-01-30的字符串参数。

set_date(year:int, month:int, day:int)

设置年-月-日。


样式表

TinUIPicker提供了pickerlight和pickerdark两种配色样式表,均来自于TinUI明暗配色。


面板布局

通过TinUIDatePicker.uid获取TinUIDatePicker的控件标识符。时间选择器与日历选择器类似。

面板布局行为与picker一致。


使用示例

from datetime import datetime
from tkinter import Tk

from tinui import BasicTinUI, ExpandPanel, HorizonPanel
from tinuipicker.datepicker import TinUIDatePicker
from tinuipicker.timepicker import TinUITimePicker
from tinuipicker import pickerlight, pickerdark

root = Tk()
root.geometry('400x400')

ui = BasicTinUI(root)
ui.pack(fill='both', expand=True)

tdp = TinUIDatePicker(ui, (10,10), font=("Segoe UI", 12), now=datetime(2026, 2, 19), command=print, anchor='center', **pickerlight)
tdp.set_date(2016, 10)

ttp = TinUITimePicker(ui, (10,10), font=("Segoe UI", 12), is_24h=False, show_sec=False, now=datetime(1,1,1,6,23,45), command=print, anchor='center', **pickerdark)
ttp.set_time(16,0,19)

rp = ExpandPanel(ui)
hp = HorizonPanel(ui)
rp.set_child(hp)

ep = ExpandPanel(ui, bg='#f3f3f3')
hp.add_child(ep, weight=1)
ep.set_child(tdp.uid)

ep2 = ExpandPanel(ui, bg='#202020')
hp.add_child(ep2, weight=1)
ep2.set_child(ttp.uid)

def update(e):
    rp.update_layout(5,5,e.width-5,e.height-5)
ui.bind('<Configure>',update)

root.mainloop()

Metadata

Release files for tinuipicker 1.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tinuipicker 1.9.0
File Size Uploaded
tinuipicker-1.9.0.tar.gz 16.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tinuipicker 1.9.0
File Interpreter ABI Platform
tinuipicker-1.9.0-py3-none-any.whl Python 3 none any Details

Total release size: 38.0 kB

Release files / tinuipicker-1.9.0.tar.gz

Download URL tinuipicker-1.9.0.tar.gz
Size 16.9 kB
Tags Source
SHA-256 checksum
How to use checksums
80321d7b6fbb95dbbf4f06979b101a39f48f3cbb42ecb21b3e0ad2056916e6cc
BLAKE2b-256 checksum
How to use checksums
d8c810f7aac7a028e05a59888304fdc2b4cc6c702ff6a2403a14ac717140d19f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / tinuipicker-1.9.0-py3-none-any.whl

Download URL tinuipicker-1.9.0-py3-none-any.whl
Size 21.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e6a8d47fc1b8b23072df0e9dfdf74412ff915233e6b48eeac6f9608ac34c9756
BLAKE2b-256 checksum
How to use checksums
0d3425c94c1a92b952e176664e95eff39a2066371757875997def7069cb1475c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

1.9.0 This release

2 release files

1.8.0

2 release files

1.7.1

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page