微博

QQ

天津援青指挥部计算机管理系统

2024-05-02 高衍龙 依马狮视听工场


【摘要】 天津广播电视台对口支援青海省黄南藏族自治州,几年来在黄南藏族自治州主要负责宣传工作,宣传当地人民的优良品德和当地人民的藏族文化,弘扬中华民族一家亲。随着援青工作的持续、深化开展,需要建立天津援青指挥部信息系统的集中管理。

【关键词】 援青指挥部  信息管理  菜单

 

青海省黄南藏族自治州是天津援青工作的所在地,援青13年来指挥部一直没有信息系统的集中管理。2022年7月,第5批援青干部人才来到驻地后,计算机信息技术人员经过一段时间的调研、思考与论证后,决定使用当今较为流行的《Python语言》设计开发天津援青指挥部计算机管理系统。

 

一.程序的设计思路

采用图形化用户界面,即通过鼠标对菜单、按钮等图形化元素触发指令,并从标签、对话框等图型化显示容器中获取人机对话信息,给用户一个直观、易操作的交互平台。程序的主体引入了Tkinter模块,其整个程序的设计思路为四大部分,即导入Tkinter模块、创建GUI根窗体,添加人机交互控件及编写类及函数体,进入程序主循环。在类及函数体中是每个子模块的子程序,都是各自相对独立的一段程序体,便于今后软件系统的升级及维护。

程序主页的设计思路采用标准的Windows原生界面,而不是带有活泼气氛,可以随意调整的按钮界面,如图1所示。这种原生界面对于人们比较熟悉、简洁明了、易于操作,有利于援青干部人才及时找到相应的信息内容。

天津援青指挥部下设6个工作组,被分别设定为6个菜单按钮,另外加上「天津援青指挥部」和「帮助」菜单按钮,共计设有8个主菜单按钮,每个菜单按钮下面根据各自的特点,又分别设有多个分菜单按钮。以「天津援青指挥部」菜单按钮为例,下设「概况」「组织机构」「管理文件」「纪录专题片」「第1批-第5批天津援青人员名录」「合影」「退出」共11个子菜单按钮。其中「纪录专题片」菜单按钮中又设置3个子菜单按钮,分别为「第4批」「10周年」「12周年」。

 

天津援青指挥部计算机管理系统

图1 首页

 

图2所示是以「天津援青指挥部」及「宣传组」菜单按钮为例的程序设计框图。

 

天津援青指挥部计算机管理系统

图2 设计框图

 

二.程序的实施方案

1.窗体的整体属性设置

当程序代码成功地导入Tkinter模块后,需调用Tk( )方法进行初始化一个根窗体实例 root,用title( )方法可设置其标题文字,用config( )方法可对整个窗体进行个性化设置,用iconbitmap( )方法可以对标题栏的左上角图标进行设置,用geometry( )方法可设置窗体的大小和在屏幕上显示的位置,用resizable( )方法可限制用户对窗体的宽度和高度进行调整,用bell( )方法可设置计算机系统的蜂鸣器提示音,用attributes( )方法可设置窗体的一些具体属性,用state( )方法设置窗体显示的方式。以下部分程序代码是对窗体的整体属性的设置。

root.title("天津援青计算机管理系统 (2022年∽2023年)")

root.config(background="beige",cursor="watch")

root.iconbitmap("d:/TJYQ/11.ico")

root.geometry("%dx%d+%d+%d"%(yq,yq,yq,yq/150))

root.resizable(width=True,height=True)

root.bell()

root.attributes("-toolwindow",False,

                "-topmost",False,

                '-transparentcolor','mediumspringgreen',

                "-alpha",1)

root.state("normal")

2.构建主菜单页面

Menu控件用于将一系列我们需要操作的命令,进行分组划分,从而更加方便用户进行操作。这里,我们采用了Menu控件,创建每一个菜单项,然后添加到顶级菜单中,构建出主菜单页面。首先,创建一个顶级菜单,menubar=Menu(root);接着在这个菜单的基础上创建8个分菜单,然后添加到顶级菜单中,部分程序代码如下所示。

HQmenu=Menu(menubar,tearoff=False)

talentmenu=Menu(menubar,tearoff=False)

comprehensivemenu=Menu(menubar,tearoff=False)

propagandamenu=Menu(menubar,tearoff=False)

itemenu=Menu(menubar,tearoff=False)

medicalmenu=Menu(menubar,tearoff=False)

edumenu=Menu(menubar,tearoff=False)

helpmenu=Menu(menubar,tearoff=False)

在程序中,HQmenu为「天津援青指挥部」菜单按钮

talentmenu为「干部人才组」菜单按钮

comprehensivemenu为「综合组」菜单按钮

propagandamenu为「宣传组」菜单按钮

itemenu为「项目组」菜单按钮

medicalmenu为「医疗组」菜单按钮

edumenu为「教育组」菜单按钮

helpmenu为「帮助」菜单按钮

为了去除菜单分组的默认虚线,采取了参数 tearoff=False命令;最后为了显示菜单,添加命令root.config(menu=menubar)。

3.「天津援青指挥部」菜单

本菜单下共设有11个子菜单按钮,使用add_command方法来添加子菜单项,在每一个子菜单项中,使用command方法调用函数来完成相应的操作。在需要分割的子菜单项之间可以通过add_separator( )方法进行定义实现。程序的最后要将「天津援青指挥部」菜单添加到顶级菜单中,使用add_cascade( )方法来实现。相应的部分代码如下所示。

HQmenu.add_command(label="概况",command=gk)

HQmenu.add_command(label="组织机构",command=institution)

HQmenu.add_command(label="管理文件",command=managefile)

HQmenu.add_separator()

HQmenu.add_command(label="第1批天津援青人员名录",command=d1p)

HQmenu.add_command(label="第2批天津援青人员名录",command=d2p)

HQmenu.add_command(label="第3批天津援青人员名录",command=d3p)

HQmenu.add_command(label="第4批天津援青人员名录",command=d4p)

HQmenu.add_command(label="第5批天津援青人员名录",command=d5p)

HQmenu.add_separator()

HQmenu.add_command(label="合影",command=group_photo)

HQmenu.add_command(label="退出",command=root.quit)

menubar.add_cascade(label="天津援青指挥部",menu=HQmenu)

4.「天津援青指挥部」子菜单

当选择每一个子菜单时,将会进入到相应的操作,如选择「概况」菜单时,系统会立即进入打开概况文件,如图3所示,调用函数gk( )即可实现,相应的程序代码如下:

def gk( ):

    webbrowser.open("d:/TJYQ/概况.docx")

 

天津援青指挥部计算机管理系统

图3 概况文件

 

当选择子菜单「纪录专题片」时,系统会弹出下一级子菜单,这里有3个下一级子菜单,分别是「第四批」「10周年」「12周年」,使用add_command( )方法来实现,最后要注意将其添加到"纪录专题片"下拉菜单中,使用add_cascade( )方法来实现,即HQmenu.add_cascade(label="纪录专题片",menu=filmenu),其部分程序代码如下所示:

filmenu.add_command(label="第四批",command=a_4)

filmenu.add_command(label="10周年",command=b_10)

filmenu.add_command(label="12周年",command=c_12)

当选择子菜单「退出」时,系统将自动退出系统,通过command=root.quit即可实现。

 

三.程序的美化

1.以「天津援青指挥部」菜单下的「组织机构」为例,需要对此标签进行美化,编写了迷幻灯效果的程序,它是以1s的间隔进行颜色变换,共计预设了10中不同的颜色,增强了用户的视觉效果,部分程序代码如下所示。

def my_iterator_looper(_list):

    while True:

        for i in _list:

            yield i

def institution():

    gyl = Button(frame_4,

text='组织机构',

font=("迷你简康体",30,"bold"),

cursor="watch",

relief="raised",

state="normal")

    gyl.grid(row=0,column=0)

    rainbow_colors = ['red','purple','yellow','orange','blue',

                  'lightblue','green','violet','gray','cyan']

    color_iterator = my_iterator_looper(rainbow_colors)   

    def ButtonUpdate():

        try:    

            color = next(color_iterator)    

            gyl.config(background=color)

        except StopIteration:

            return

        root.after(1000, ButtonUpdate)

ButtonUpdate()

2.用户提出为显示教育组的特点,需要对其子菜单进行美化,对整个字体设置为“迷你简少儿”,字号设置为10,背景颜色为浅褐色,前景颜色为粉红色,活动的背景颜色为春绿色,活动的前景颜色为紫罗兰色,光标处于子菜单时的形状为“帆船”,为提升视觉效果,将醒目效果设置为“凸起状”,部分程序代码如下所示。

edumenu=Menu(menu_bar,

             tearoff=False,

             font="迷你简少儿 10",

             background="beige",

             foreground="fuchsia",

             activebackground="mediumspringgreen",

             activeforeground="mediumvioletred",

             cursor="sailboat",

             relief="raised")

3.为了突出干部人才组中的领导“总指挥”和“副总指挥”,需要在子菜单中的“总指挥”与“副总指挥”最前面添加小图标,并且将小图标放置于子菜单的前端,图标需要在前面进行设置,相关的程序代码如下。

img1=PhotoImage(file=“d:/TJYQ/txc.png”)

img2=PhotoImage(file=“d:/TJYQ/kbd.png”)

talentmenu.add_cascade(label="总指挥",

image=img1,

compound="left",

command=order_1)

talentmenu.add_cascade(label="副总指挥",

image=img2,

compound="left",

command=order_2)

 

四.程序的应用

目前,该程序已经在天津援青指挥部试运行,其简洁的界面,方便的操作,丰富详实的内容,受到了天津市第5批援青干部人才的赞赏和肯定。计算机管理系统的运行,提升了援青工作办公的信息化、自动化水平,促进了援青工作的顺利开展,增强了援青各个部门工作的信息交流。随着程序日后的运行使用,后期在不断的调整、完善和更新,相信天津援青指挥部计算机管理系统一定会在雪域高原盛开绽放。

天津广播电视台 援青指挥部 信息管理 菜单

视听科技视频号 广告
发表评论