做谐和年龄图的网站,佛山网站开发公司有哪些,贸易平台有哪些,家居企业网站建设策划TinUI较复杂面板布局演示3-纯文本日记软件引言整体布局子页面今日日记过往日记设置页面整体展示引言
纯文本日记软件的基础就是一个编辑器如这篇文章中的例子#xff0c;但是#xff0c;在此基础之上#xff0c;需要分为若干个视图#xff1a;
今日日记过往日记修改设置页…TinUI较复杂面板布局演示3-纯文本日记软件引言整体布局子页面今日日记过往日记设置页面整体展示引言纯文本日记软件的基础就是一个编辑器如这篇文章中的例子但是在此基础之上需要分为若干个视图今日日记过往日记修改设置页面……结合TinUI-6.11版本中的两大更新面板布局支持背景色以及边框圆角设置新增navigation 边栏构建一个纯文本日记框架。示例代码库KuaiDiary-GitHub。整体布局整体布局非常简单是边栏导航栏与主体视图的标准布局由如下代码确定classMainWindow(Tk):def__init__(self,themeTinUILight):#...definit_ui(self):self.ui_BasicTinUI(self)self.ui_.pack(fillboth,expandTrue)self.uiself.theme(self.ui_)self.rootExpandPanel(self.ui_,padding(5,5,5,5))hp1HorizonPanel(self.ui_)self.root.set_child(hp1)self.navself.ui.add_navigation((0,0),maxwidth100,content((\uE929,今日),(\uE787,往昔),(\uE713,设置)),commandself.change_view)hp1.add_child(self.nav[-1])epExpandPanel(self.ui_)self.childself.ui_.add_ui((0,0),contentFalse)ep.set_child(self.child[-1])hp1.add_child(ep,weight1)self.ui_.bind(Configure,self.on_resize)self.now_viewself.today_viewTodayView(self.child[0],self.theme)self.dates_viewDatesView(self.child[0],self.theme)self.setting_viewSettingView(self.child[0],self.theme)self.now_view.pack(fillboth,expandTrue)主体视图由self.child实现这是为了方便视图管理以及切换剩下的三个页面分别由三个独立的BasicTinUI承接。另外由于TinUI的导航边栏默认可折叠与展开因此在水平布局面板添加边栏控件时建议不指定宽度同时self.change_view应当触发尺寸修改重新布局#...defchange_view(self,tag):ifisinstance(tag,bool):self.ui_.event_generate(Configure,x0,y0,widthself.winfo_width(),heightself.winfo_height())returnifnotself.now_view:return# UI初始化时会触发但界面还没初始化iftag今日:self.now_view.pack_forget()self.now_viewself.today_vieweliftag往昔:self.now_view.pack_forget()self.now_viewself.dates_vieweliftag设置:self.now_view.pack_forget()self.now_viewself.setting_view self.now_view.pack(fillboth,expandTrue)#...子页面今日日记面板布局水平工具栏以及编辑框主体classTodayView(BasicTinUI):def__init__(self,masterNone,themeTinUILight):#...definit_ui(self):self.rootExpandPanel(self,padding(4,4,4,4),bg#F9F9F9,bd17)vpVerticalPanel(self,spacing10)self.root.set_child(vp)hpHorizonPanel(self,spacing5)vp.add_child(hp,30)hp.add_child(self.ui.add_title((0,0),textdatetime.date.today().strftime(%Y-%m-%d),anchorw),weight1)epExpandPanel(self)vp.add_child(ep,weight1)textboxself.ui.add_textbox((0,0),scrollbarTrue)ep.set_child(textbox[-1])#...过往日记面板布局树状选择视图日记编辑视图classDatesView(BasicTinUI):def__init__(self,masterNone,themeTinUILight):super().__init__(master)self.diary:strNoneself.uitheme(self)self.init_data()self.init_ui()definit_data(self):# 获取以往日记信息#...definit_ui(self):self.rootExpandPanel(self)hpHorizonPanel(self,spacing5)self.root.set_child(hp)epExpandPanel(self)hp.add_child(ep,120)treevself.ui.add_treeview((0,0),contentself.data,commandself.on_select)ep.set_child(treev[-1])#...vpVerticalPanel(self,spacing10,bg#F9F9F9,bd17,padding(4,4,4,4))hp.add_child(vp,weight1)hp2HorizonPanel(self,spacing5)vp.add_child(hp2,30)self.titleself.ui.add_title((0,0),text过往日记修改,anchorw)hp2.add_child(self.title,weight1)ep2ExpandPanel(self)vp.add_child(ep2,weight1)textboxself.ui.add_textbox((0,0),scrollbarTrue)ep2.set_child(textbox[-1])#...设置页面由于设置页面的交互元素不涉及到尺寸变换因此使用TinUIXmltinuilinepady15liney50padx20anchorwimageimgfile./assets/logo-small.png/imagetitletext快日记 | KuaiDiary/titleparagraphtext%VERSION%/paragraph/linelinepadx20linktextGitHubcommandself.funcs[open_github]/linklinktextGiteecommandself.funcs[open_gitee]/link/line!--...--/line/tinui整体展示