当前位置:首页 > 每日看点 > 正文内容

用什么GUI平台开发高性能、美观性好的GUI?

卡卷网1年前 (2024-12-09)每日看点437

1. 安装基础库

使用Windows 11标题样式和主题自定义UI窗口库pywinstyles(github: github.com/Akascape/py-),结合python自带tkinter库设计一个报告GUI软件。

pip install pywinstyles # pywinstyles设置风格方式 pywinstyles.apply_style(window, style)

用什么GUI平台开发高性能、美观性好的GUI?  第1张

pywinstyles风格

2. 设计一个简单的Windwos风格的GUI报告软件


用什么GUI平台开发高性能、美观性好的GUI?  第2张

软件界面


# report.py import tkinter as tk import pywinstyles from tkinter import ttk def generate_report(sample_name, analysis_type): """模拟生信报告生成函数""" with open(f"{sample_name}_report.txt", "w") as f: # 写入表头 f.write(f"Sample Name\tAnalysis Type\n") # 写入内容 f.write(f"{sample_name}\t{analysis_type}\n") def on_selection_changed(event): """下拉框选择改变时触发事件""" global selected_value selected_value = combo_box.get() print(f"Selected value changed to: {selected_value}") # 创建主窗口 root = tk.Tk() # 应用mica主题 pywinstyles.apply_style(root, 'mica') label = tk.Label(root, text="mica风格界面") label.pack(pady=20) # 设置窗口标题 root.title("生信报告软件") # 设置窗口大小 root.geometry("800x600") # 内边距(水平方向)像素值 pad_x_value = 15 # 外边距(垂直方向)像素值 pad_y_value = 10 # 组件内部内边距 ipad_x_value = 5 # 组件外部外边距 ipad_y_value = 2 # 创建标签和输入框用于样本名称 # side设置边:tkinter.TOP(默认值)、tkinter.BOTTOM、tkinter.LEFT、tkinter.RIGHT # anchor设置锚点:tkinter.N(北,即顶部居中)、tkinter.NE(东北,即右上角)、tkinter.E(东,即右# 侧居中)、tkinter.SE(东南,即右下角)、tkinter.S(南,即底部居中)、tkinter.SW(西南,即左下 # 角)、tkinter.W(西,即左侧居中)、tkinter.NW(西北,即左上角)、tkinter.CENTER(居中) sample_name_label = tk.Label(root, text="样本名称:") sample_name_label.pack(anchor=tk.NW, side=tk.LEFT, padx=pad_x_value, pady=pad_y_value, ipadx=ipad_x_value, ipady=ipad_y_value) sample_name_entry = tk.Entry(root) sample_name_entry.pack(anchor=tk.NW,side=tk.LEFT, padx=pad_x_value, pady=pad_y_value, ipadx=ipad_x_value, ipady=ipad_y_value) # 创建标签和下拉菜单用于分析类型 analysis_type_label = tk.Label(root, text="报告类型:") analysis_type_label.pack(anchor=tk.NW, side=tk.LEFT, padx=pad_x_value, pady=pad_y_value, ipadx=ipad_x_value, ipady=ipad_y_value) style = ttk.Style() style.theme_use('clam') style.conp('TCombobox', font=('Arial', 12), fieldbackground='white', arrowcolor='blue') combo_box = ttk.Combobox(root, values=["WES报告", "WGS报告", "CNV-seq报告"]) combo_box.pack(anchor=tk.NW, side=tk.LEFT, padx=pad_x_value, pady=pad_y_value, ipadx=ipad_x_value, ipady=ipad_y_value) # 绑定事件处理函数 # 当使用Combobox的<<ComboboxSelected>>事件绑定函数后,在函数内部可以直接获取到改变后的值 combo_box.bind("<<ComboboxSelected>>", on_selection_changed) # 创建按钮用于生成报告 generate_button = tk.Button(root, text="生成报告", command=lambda: generate_report(sample_name_entry.get(), selected_value)) generate_button.pack(anchor=tk.NW,side=tk.LEFT, padx=pad_x_value, pady=pad_y_value, ipadx=ipad_x_value + 30, ipady=0) # 运行主循环 root.mainloop()

3. 测试结果

根据业务需求,可自行调整报告生成函数。

用什么GUI平台开发高性能、美观性好的GUI?  第3张

生成TXT文件结果

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2024/12/3553.html

分享给朋友:

相关文章

电脑c盘哪些文件可以删除?

电脑c盘哪些文件可以删除?

电脑上的文件夹都是英文,很多朋友都不敢乱删,下面这几个文件夹里的文件,你可以放心删除。一、可删除的文件1、Backup这是一个备份文件夹,很多装机软件经常会把需要备份的东西,放在这个文件夹中。而当我们需要的软件正常保存之后,这些东西也就没有...

b站真的能自学PS吗?

b站真的能自学PS吗?

看你想达到哪一种程度了,如果你只是平常用PS扣图、调整照片大小、尺寸、简单调个色这样,自学真的挺简单的,B站很多免费的教程都可以教会你这些技巧。但是如果说你想成为专业的设计师或者是商业修图师,无师自通真的非常难,首先你会走很多弯路,不知道怎...

内存和硬盘的单位都是G,两者的功能是什么?谁能用简单通俗的方式来解读一下?

内存和硬盘的单位都是G,两者的功能是什么?谁能用简单通俗的方式来解读一下?

要弄清楚这个问题,首先要弄清楚什么是内存,什么是硬盘,在计算机的组成结构中有一个很重要的部分是存储器。它是用来存储程序和数据的部件。对于计算机来说,有了存储器,才有记忆功能,,才能保证正常工作。存储器的种类很多。按其用途可分为主存储器与辅助...

想要在双 11 换一台全面无短板的新手机,有没有「闭眼买」的机型推荐?

想要在双 11 换一台全面无短板的新手机,有没有「闭眼买」的机型推荐?

最近一个月各大手机厂商的旗舰机扎堆发布,不知道大家看爽了没?这一代的性能续航大提升,最低 3599 元就能买到,同时老款也有不小的降幅,今年双 11 算是相当适合换手机的节点了!这次,小黑就给大家推荐双 11 期间值得购买的手机...150...

马云也搞不明白:为什么现在用户偏爱微信支付,而不是支付宝?

这题我会,我教马云一招。你直接把你那破比支付宝的代码全删了,重新写一个。打开支付宝直接就是一个大大的支付码,然后右上角按一下就是扫一扫。你要是还想保留你的其他那些乱七八糟的功能,麻烦将他们全部做到下拉菜单里。你这么设计我不说你能干死微信,但...

你为什么讨厌抖音?

我就被抖音毁了。现在被我媳妇从抖音里拯救出来了。我为什么会这样说?我媳妇硕士在读,我文化程度相对就比较低了。大多数人看抖音其实就是为了一图一乐呵刚开始我也是这样的,我是2017年在朋友的推荐下注册了抖音,刚开始那时候对抖音不太上瘾,一周也就...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。