当前位置: 首页 > news >正文

兖州建设局网站学习编程

兖州建设局网站,学习编程,php 视频网站开发,建设网站教程2016在平时工作学习当中#xff0c;我们经常会编写一些简单的 Python GUI 工具#xff0c;以此来完成各种各样的自动化任务#xff0c;比如批量处理文件#xff0c;批量处理图片等等。当我们进行这些工具的编写之时#xff0c;往往只关注了功能的实现#xff0c;而忽略了页面…在平时工作学习当中我们经常会编写一些简单的 Python GUI 工具以此来完成各种各样的自动化任务比如批量处理文件批量处理图片等等。当我们进行这些工具的编写之时往往只关注了功能的实现而忽略了页面的美化这也使得在人们的眼中Python 构建的 GUI 程序都是比较 low 的今天我们先忽略掉功能着眼于页面的美化来看看纯 Python 的编写的 GUI 程序也可以很美观 页面布局 我们首先完成一个基本的 GUI 布局 假设我们想要做一个进制转换的工具那么大致的布局可以入下图 上图是完全通过 Python 自带的 GUI 库 tkinter 来编写的 部分代码如下 from tkinter import ttk from tkinter import *class Transform():def __init__(self):self.root Tk()self.root.title(进制转换工具)self.root.geometry(600x280)self.root.resizable(False, False)self.var StringVar()self.values [2, 8, 10, 16, 32, 36, 58, 62]self.myWidget()self.myLayout()def myWidget(self):self.container Frame(self.root)# 转换设置区域self.lf_group1 LabelFrame(masterself.container, text转换设置)self.cb Checkbutton(self.lf_group1, text是否自动转换)self.cb.invoke()self.bt Button(self.lf_group1, text转换)self.en Entry(self.lf_group1, textwarning)# 进制选择区域self.lf_group2 LabelFrame(masterself.container, text进制选择)self.lb1 Label(self.lf_group2, text请选择待转换的进制)self.cbo1 ttk.Combobox(masterself.lf_group2,valuesself.values)self.cbo1.set(self.values[2])self.lb2 Label(self.lf_group2, text请选择转换后的进制)self.cbo2 ttk.Combobox(masterself.lf_group2,valuesself.values,)self.cbo2.set(self.values[0])# 进制输出区域self.txt Text(masterself.container, height5, width50)def myLayout(self):self.container.pack(sideLEFT, fillBOTH, expandYES, padx5)self.lf_group1.pack(fillX, sideTOP)self.lf_group2.pack(fillX, pady10, sideTOP)self.cb.pack(sideLEFT, expandYES, padx5, fillX)self.bt.pack(sideLEFT, expandYES, padx5, fillX)self.en.pack(sideLEFT, expandYES, padx5, fillX)self.lb1.pack(sideLEFT, expandYES, padx5)self.cbo1.pack(sideLEFT, expandYES, pady5)self.lb2.pack(sideLEFT, expandYES, padx5)self.cbo2.pack(sideLEFT, expandYES, pady5)self.txt.pack(sideLEFT, anchorNW, pady5, fillBOTH, expandYES)def run(self):self.container.mainloop()if __name__ __main__:trans Transform()trans.run()代码并不复杂布局也是使用的最基本的 pack 方式整个 GUI 程序虽然看起来比较整齐但是颜色单调各个组件也不是十分美观下面我们就来进行美化 页面美化 我们首先通过手工设置 CSS 的方式来美化页面这里主要用到了 tkonter 库的 config 属性 首先我们设置背景颜色 self.container.config(bg#073642)对于整体 container 容器我们设置背景色为#073642 接下来再分别设置各个组件的样式 self.lf_group1.config(bg#073642, fgwhite) self.lf_group2.config(bg#073642, fgwhite) self.cb.config(bg#073642, selectcolor#073642, activebackground#073642,activeforeground#073642, fgwhite) self.bt.config(bgazure3) self.en.config(highlightbackground#0b5162, highlightcolor#0b5162,insertofftime500, insertontime500, fgGainsboro, insertbackgroundGainsboro,bg#073642, highlightthickness2, reliefsolid) self.lb1.config(bg#073642, activebackground#073642,activeforeground#073642, fgwhite) self.lb2.config(bg#073642, activebackground#073642,activeforeground#073642, fgwhite) self.txt.config(insertofftime500, insertontime500, fgGainsboro, insertbackgroundGainsboro,wrapnone, bg#073642)都是通过 config 来设置对于颜色的选择可以通过在线的颜色选择器来选择 https://tools.kalvinbg.cn/dev/colorPicker 接下来我们进行下拉框样式的设置对于下拉框组件还是有些特殊的 该组件属于 ttk 组件所以设置样式需要通过主题来进行代码如下 combostyle ttk.Style() combostyle.theme_create(combostyle, parentalt,settings{TCombobox:{configure:{foreground: white,selectbackground: #073642, # 选择后的背景颜色fieldbackground: #073642, # 下拉框颜色background: #073642, # 下拉按钮背景颜色font: 10, # 字体大小}}}) combostyle.theme_use(combostyle)这样我们整体 GUI 程序的样式就设置完成了来看下最终的效果 可以明显看出颜值那是提升了好几个档次 使用 ttkbootstrap 美化页面 当然我们还有更加简单有效的美化方法就是使用 ttkbootstrap 库来进行页面美化 首先通过 pip 安装 ttkbootstrap 库 pip install ttkbootstrap然后在项目中引用该库 import ttkbootstrap as ttk from ttkbootstrap.constants import *class MainCreator(ttk.Window):def __init__(self):super().__init__(进制转换工具, themenamesolar, resizable(False, False)) # 设置一个主题此时当我们完成组件的布局的时候页面整体风格也就变成了主题solar的样式了当然我们还是可以为不同的组件添加bootstyle属性来达到更多样式效果 def create_frame(self):Create all the frame widgetscontainer ttk.Frame(self)container.pack(sideLEFT, fillBOTH, expandYES, padx5)color_group ttk.Labelframe(mastercontainer, text转换设置, padding10)color_group.pack(fillX, sideTOP)self.cb ttk.Checkbutton(color_group, text是否自动转换, variableself.cbvar)self.cb.invoke()self.bt ttk.Button(color_group, text转换, bootstylesuccess)self.en ttk.Entry(color_group, textwarning, bootstylewarning)self.cb.pack(sideLEFT, expandYES, padx5, fillX)self.bt.pack(sideLEFT, expandYES, padx5, fillX)self.en.pack(sideLEFT, expandYES, padx5, fillX)cr_group ttk.Labelframe(mastercontainer, text进制选择, padding10)cr_group.pack(fillX, pady10, sideTOP)values [2, 8, 10, 16, 32, 36, 58, 62]cr3 ttk.Label(cr_group, text请选择待转换的进制)cr3.pack(sideLEFT, expandYES, padx5)self.cbo1 ttk.Combobox(mastercr_group,valuesvalues,)self.cbo1.pack(sideLEFT, expandYES, pady5)self.cbo1.set(values[2])cr5 ttk.Label(cr_group, text请选择转换后的进制)cr5.pack(sideLEFT, expandYES, padx5)self.cbo2 ttk.Combobox(mastercr_group,valuesvalues,)self.cbo2.pack(sideLEFT, expandYES, pady5)self.cbo2.set(values[0])self.txt ttk.Text(mastercontainer, height5, width50, wrapnone)self.txt.pack(sideLEFT, anchorNW, pady5, fillBOTH, expandYES)最终效果如下 可以看出使用该库的整体效果还是要比我们手工添加 CSS 样式要更加美观同时也更加便捷 好了这就是今天分享的全部内容我们下次再见~
http://www.w-s-a.com/news/194196/

相关文章:

  • 专业网站的定义网站运营的概念
  • 外贸服装网站建设网页美工设计说明书
  • 郑州专业做网站公百度翻译api wordpress
  • 做网站哪里找大学的一级或二级域名
  • 没有静态ip可以做网站服务器上饶网站制作需要多少钱
  • 网站建设wangzhii做国外网站做什么内容
  • 网站建设 搞笑笑话经典 wordpress主题下载
  • 做网站要懂哪些wordpress 站点网络
  • 郑州外贸网站建设公司排名网站设计做啥好
  • 网站开发合同付款比例wordpress调用指定文章内容
  • 湖北平台网站建设哪里好辽宁建设工程信息网官网平台
  • 公司优化是什么意思?洛阳seo博客
  • 普通建站网站首页制作模板
  • 江苏城乡与住房建设厅网站wordpress 添加导航
  • 免费单页网站在线制作网站制作与网站建设pdf
  • 网站开发使用云数据库技术教程大连模板开发建站
  • 佘山网站建设创造网站需要多少钱
  • 南海佛山网站建设网站维护需要什么技能
  • 阿里云服务器开源做几个网站想找公司做网站
  • 一般做网站是用什么语言开发的域名查询 查询网
  • 地方门户网站源码下载揭阳专业网站建设
  • 网站做优化好还是推广好wordpress百家号模版
  • 淘宝网网站建设的的意见校园微网站建设
  • 小说网站建设之前需求分析免费下载京东购物
  • 园林景观设计案例网站wordpress 文章内容页
  • 网站什么做才会更吸引客户楚雄网站开发rewlkj
  • 电商网站构建预算方案视频制作网站怎么做
  • 包装设计灵感网站ps软件下载电脑版多少钱
  • 手机网站图片做多大原网站开发新功能
  • 网站设计培训成都陕西网站建设公司哪有