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

庆阳网站建设推广成都旅游景点有哪些

庆阳网站建设推广,成都旅游景点有哪些,四川省建设厅官网信息查询平台,公司部门架构效果图展示 粉色框是当前页面#xff0c;橙色框是鼠标经过#xff0c;红色框是按下按钮#xff0c;灰色按钮是其他页面的效果#xff1b; 存储标识可以用来识别页面是否存储#xff1a;例如当前页面已经保存用蓝色#xff0c;未保存用红色#xff0c;其他页面已经保存用…效果图展示 粉色框是当前页面橙色框是鼠标经过红色框是按下按钮灰色按钮是其他页面的效果 存储标识可以用来识别页面是否存储例如当前页面已经保存用蓝色未保存用红色其他页面已经保存用灰色未保存用淡红色。 首先导入模块 import tkinter as tk from tkinter import ttk定义一个名为CustomNotebook的类继承自ttk.Notebook class CustomNotebook(ttk.Notebook):定义一个名为CustomNotebook的类继承自ttk.Notebook__initialized False # 初始化一个私有变量用于标记是否已经初始化def __init__(self, *args, **kwargs):# 如果尚未初始化则调用自定义初始化方法并设置已初始化标志if not self.__initialized:self.__initialize_custom_style()#CustomNotebook.__initialized Trueself.__inititialized True# 设置notebook的样式为CustomNotebookkwargs[style] CustomNotebook# 调用父类的初始化方法ttk.Notebook.__init__(self, *args, **kwargs)self._active None # 初始化一个私有变量用于存储当前活动的tab# 绑定鼠标左键按下事件到on_close_press方法self.bind(ButtonPress-1, self.on_close_press, True)# 绑定鼠标左键释放事件到on_close_release方法self.bind(ButtonRelease-1, self.on_close_release)def on_close_press(self, event):当按钮被按下时触发位于关闭按钮上方# 获取鼠标点击位置的元素element self.identify(event.x, event.y)# 如果元素包含close则执行以下操作if close in element:# 获取鼠标点击位置的索引值index self.index(%d,%d % (event.x, event.y))# 将按钮状态设置为按下self.state([pressed])# 将_active属性设置为点击的索引值self._active indexdef on_close_release(self, event): 当鼠标在关闭按钮上释放时调用此方法。event: 包含鼠标事件信息的对象。if not self.instate([pressed]): # 如果按钮没有按下状态直接返回returntry:element self.identify(event.x, event.y) # 获取鼠标释放位置的元素index self.index(%d,%d % (event.x, event.y)) # 获取元素在列表中的索引if close in element and self._active index: # 如果元素是关闭按钮并且当前激活的标签页与释放位置的标签页相同self.forget(index) # 删除该标签页self.event_generate(NotebookTabClosed) # 生成一个表示标签页关闭的事件except: passself.state([!pressed]) # 将按钮状态设置为非按下状态self._active None # 将当前激活的标签页设置为Nonedef __initialize_custom_style(self):# 创建一个ttk样式对象style ttk.Style()# 定义四个图片对象分别表示关闭按钮的不同状态self.images (# 元素普通状态时图标tk.PhotoImage(img_closenormal, dataR0lGODdhCwALAIMAAJKSkpeXl5ubm5fn6CgoKampqqqqq2trbGxsba2tr29vcHBwdnZ2QAAAAAAAAAAACwAAAAACwALAAAIXQAXJEBwwEDBAgUGHEigYOCBhwYMEBCAIAEDBgYQXhwg4ACCiwwKgOQIEeRGjgUKGgBJYABKgyYZuBRAQORFmwwEBBhgE6FNAQAEDCBAtCVHoAcC6AzANAAAAAYCAgA7),# 选中的选项卡的关闭图标tk.PhotoImage(img_closeselected, dataR0lGODdhCwALAIVUAJ9dcptfe6NfcpthfZ5hfJ9ifp5nfaNjda9lc6Rmea1nfqRpe6Fqfq9ofK1ofqxrfrFndbJqeLJufZ9rgKpngaBqgKtpg6tphK5uhKxvia5xhq91iq1xjK1zj692jLFyg7N1hrJ3i7B2jbF4ja51ka94kq97l698mq9m7B8mbB/nLCDn6aEoayMprCForGMq7KNq7KPrrOXt7WfwP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAACwALAAAIcgBnwFiBwoQJEh0yUGARQ8YLFwRPHLwQwEUMGjQOcsB4YYAKFxhpbMRooYCJFSlCYlTgoAAJFSlMhHTgQEGBDilSqoyggACGEiFFhGxwAINQGiNCgMAIQcADDR48bAjxQUIEBABaGJgwoQKDBQkOCGAREAA7),# 鼠标经过时选项卡的关闭图标tk.PhotoImage(img_closeactive, dataR0lGODdhCwALAIVSAN5INlRNeBQP5bPvtSPFSQuJXRVbRu5dQetfRuVbSf9dS/xeTO5iRhhTOxlTP1wTP1iUP1kUv9lVPxnVv9rVP1pWP9rWv9vXv5/WP54Xf9yYv11YP90ZP99YP94af97bP99bv6BW/6CYv6FYPBZf6JZvEb/6JavOaeJe/BcfEdfHefKfPRd/WfPbevPguRhvRhPViPZjfhlvlmv1rP/twAAAAAAAAAAAAAAACwAAAAACwALAAAIcwB13KDhgkWIEB8wRJiBIwcOGzRktFjxwUKBGjh27GABYoNGCQZc2NC4owNJkCsIktRYoYKCDywmkizhQYODDSFWrNyRYsSDCSY1wiBJosGCCxpPvIihMcMAAgwoXOBQAoUJERACzAAAoICAAwkaIAigIiAAOw),# 按下关闭按钮时选项卡的关闭图标tk.PhotoImage(img_closepressed, dataR0lGODdhCwALAIUAAGsiD20jEHIkEHYlEXsnEX4oEogrE4orFIwsFJEtFJUvFZoxFpwwFp4yF6EzF6YzF642GbU3GbY4Grk5Grk6G7s7G7w6G7w8G8AHcJAHcVDH8ZEH8dEIMhGIMtJIsxKIs1KIpdxZ8eAbtqIcuKdiQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAACwALAAAIcABDABBA4AACBQscNBARIAGDBxAkVKhwoeIABiRIRJhQIeMFDAUeZCTRMWOGCwYgRBhpMgMGBBEqWBipYcOGDAoolBz5wcOGBRdGchjps0FQEhk6eMgIgoODihgycOgAAoQHDiIsYMBwoeYGDhtGBAQAOw),)# 使用element_create方法创建一个名为close的元素类型为image图像文件名为img_closenormalstyle.element_create(close, image, img_closenormal,# 下面设置各状态图标激活顺序越往后的越要写在前面比如按下要先鼠标经过激活按下就要写在鼠标经过前# 当元素处于激活、按下、未禁用状态时显示img_closepressed图片(active, pressed, !disabled, img_closepressed),# 当元素处于激活且未禁用状态时显示img_closeactive图片(active, !disabled, img_closeactive), # 当选项卡处于选中状态时显示img_closeselected图片(selected, img_closeselected), # 设置元素的边框宽度为10像素无边框设置元素的粘性属性为空字符串表示不粘附在其他元素上。border10, sticky)notebook有如下状态可以设置disabled 禁用状态该状态下的控件无法接收用户输入。normal 正常状态该状态下的控件可以接收用户输入。active 激活状态鼠标经过该状态下的控件可以接收用户输入并且会显示特殊效果如闪烁。selected 选中状态该状态下的控件会显示特殊效果如高亮。insensitive 不敏感状态该状态下的控件不会响应用户的键盘操作。focus 聚焦状态该状态下的控件会显示特殊效果如边框。# 设置Notebook的样式为CustomNotebook并为CustomNotebook.client添加一个样式选项设置其sticky属性为nswestyle.layout(CustomNotebook, [(CustomNotebook.client, {sticky: nswe})])# 设置CustomNotebook.Tab的布局样式style.layout(CustomNotebook.Tab, [(CustomNotebook.tab, { # 设置 CustomNotebook.tab 的样式sticky: nswe, # 设置 tab 的粘性属性为 NSWE表示在水平方向上可拉伸垂直方向上可滚动children: [ # 设置 tab 的子元素(CustomNotebook.padding, { # 设置 CustomNotebook.padding 的样式side: top, # 设置 padding 的侧边距在顶部sticky: nswe, # 设置 padding 的粘性属性为 NSWEchildren: [ # 设置 padding 的子元素(CustomNotebook.focus, { # 设置 CustomNotebook.focus 的样式side: top, # 设置 focus 的侧边距在顶部sticky: nswe, # 设置 focus 的粘性属性为 NSWEchildren: [ # 设置 focus 的子元素# 设置 CustomNotebook.label 的样式(CustomNotebook.label, {side: left, sticky: }), # 设置 label 的侧边距在左侧无粘性# 设置 CustomNotebook.close 的样式(CustomNotebook.close, {side: left, sticky: }), # 设置 close 的侧边距在左侧无粘性]})]})]})])将定义好的Notebook应用到tk窗口并添加存储标识不需要的删除即可 if __name__ __main__:root tk.Tk()notebook CustomNotebook(width400, height400, padding(2,5,2,2))notebook.pack(sidetop, fillboth, expandTrue)images (# 原色tk.PhotoImage(save_original, data R0lGODdhDgAOAIU9ADFjpTFjrTFjtTFrtTljrTlrrcDAwEJzvUpzvUp7vVJ7rVJ7vVqEvWOEvWOMzmuUzmuU1nOUxnOc1nOc3nuUxnucxnul53ut54Slzoylxoyl1oyt1ozGY5StxpS13py13qWtxqW9563G57XO773O78bW78bW987e9zlrvQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAADgAOAAAIjAAzUFhwIIXBgykYgDAQ4cQJFBAjQiThoEOCExdQOJA4kcSBAycsaOSIwkKJASlCkoQ4IYSAFCYsOHDwoOZMBxIvIxpoWfPCRKC6kxRwqdPoEE9BEhBwqiFoFA3LG26EgUEDUtHiOTAtSuHBxiybvXK1UEFAAhEiKhagUIBCg0ODBBAN4DdAAAIKAgIADs),# 黑白tk.PhotoImage(save_gray, data R0lGODdhDgAOAIU9AFxcXF1dXV9fX2JiYmRkZGVlZW1tbW9vb3R0dHZ2dn5foGBgYeHh46OjoPj5CQkJKSkpaWlpeXl6CgoKGhoaOjo6WlpaioqKmpqa2trbCwsLKysru7u8DAwMLCwsrKys3NzdTU1NXV1dzc3P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAADgAOAAAIiwApQEhgoIDBgwUUZOjwYMQIEhAjQgTB4AKCERZIMJA4EYQBAyMmaORIYkKIAQVCkoQogUOAAiImMGDQoOZMBhE2vIw5oWdPCRGC6iwQwqdPoEE1ACgAwuiEoFAvLG26koSDCks/iMTAtSuGBhOybvXKlYEEAAc8eKgqAQIBCAsMDAhAF4BduwIQBAQAOw),# 红色tk.PhotoImage(save_red, data R0lGODdhDgAOAIU9AP/h4fvv3t/2tvvr/srPkpPiovdnfUlPSkvPj/Li/KivHh/FhfDg/Cgv95ef94eP90dP9ycv9xcf9wcP9paf9jY/9gYP9YWP9WVv9RUf9PT/tHR/pGRvhERPVBQfM/P/IPgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAADgAOAAAIiwAhUNjg4YPBgx80LDhQIUAAABAjQiSAoQGHAA4AYJA4kYAHDwEiaOQIIMKAEB9CkoQoAcGIDwIiYMBwoeZMDBMSvIwZoWdPCROC6vwwwKdPoEEVkPhAwGiEoFAbLG26EoCFB0sLiGTAtSuDCxGybvXKFYMEEh0MGKgqgQIIChk8hBhBl4RduyI4BAQAOw),# 淡红色tk.PhotoImage(save_lowred, data R0lGODdhDgAOAIU9AP/w8P/p6f/o6P/h4f/e3v/W1v/U1P/Pz//Gxv/ExP/Bwf9vf8vP5uf3t/1tf0tPrq/qqvmpvkpPjo/iovbm/VlfSkvKivIiPDg/Bgft5efp4ePh2dvVzc/NxcfJwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAADgAOAAAIiwAhUNjg4YPBgx80LDhQIUAAABAjQiSAoQGHAA4AYJA4kYAHDwEiaOQIIMKAEB9CkoQoAcGIDwIiYMBwoeZMDBMSvIwZoWdPCROC6vwwwKdPoEEVkPhAwGiEoFAbLG26EoCFB0sLiGTAtSuDCxGybvXKFYMEEh0MGKgqgQIIChk8hBhBl4RduyI4BAQAOw),)colour {blue:None, red:None, violet:None, orange:None, green:None}for color in colour.keys():colour[color] tk.Frame(notebook, backgroundcolor) # 新建Frame作为标签内容notebook.add(colour[color], textcolor) # 将新建的Frame添加到notebook生成一个标签colour[white] tk.Frame(notebook) notebook.add(colour[white], textwhite, imagesave_gray , compoundleft) # 新建一个直接带image元素的标签,图标元素位于左侧notebook.insert(3, colour[white]) #将white标签移动到3的位置notebook.select(colour[white])# 修改标签的image元素notebook.tab(colour[blue] , imagesave_original, compoundleft)notebook.tab(colour[red ] , imagesave_red , compoundleft)notebook.tab(colour[violet], imagesave_lowred , compoundleft)root.mainloop()上面代码中的base64编码的字符串可以用下面代码获取要用gif格式文件转换传入文件路径即可。 from PIL import Image import base64, io def bmp_to_base64(img_path):将gif图片转为base64编码的字符串# 打开图片img Image.open(img_path)# 将图片数据转为字节流byte_arr io.BytesIO()img.save(byte_arr, formatGIF)img_bytes byte_arr.getvalue()# 将字节流转为base64编码的字符串base64_str base64.b64encode(img_bytes).decode()return base64_str print (bmp_to_base64(gif文件路径))#想要拖动标签切换位置的可以绑定鼠标事件自己试试吧。
http://www.hkea.cn/news/14519331/

相关文章:

  • 织梦制作手机网站模板阿里云虚拟主机装WordPress
  • 网站建设好国际外贸交易平台有哪些
  • 网站开发怎样建立后台数据最吸引人的营销广告词
  • 网站制作流程分为哪三步网站描述作用
  • 个人做商机网站如何盈利安装字体到wordpress
  • 品牌型网站建设哪家网站首页的优化
  • 安徽合肥中国建设银行网站首页网站建设公司哪个好点
  • 海网站建设生产厂家哪家好广州手机网站建设
  • 江苏省建设厅副厅长网站大同建设工程信息网
  • 做网站哪个编辑器好用公司官网怎么维护
  • 阿里云企业网站备案流程莱芜吧莱芜贴吧
  • 网站建设应遵循哪几项原则企业文化模板
  • 这么做钓鱼网站网站 ip修改备案流程图
  • 手机里面的网站怎么制作公司的网络规划与设计
  • 有后台的网站怎么做城市门户网站模板
  • 做好网站优化的方法有哪些?南京百度小程序开发
  • 参与做网站的收获菠菜网站怎么做推广
  • 网站建设费用申请自己的公网ip可以做网站
  • 房屋建筑设计网站工信部icp备案号查询
  • 网站的域名怎么看html常用软件
  • 做资源网站违法吗网页设计手机端
  • 优秀的国外网站设计网站wordpress首页调用图片
  • 上海网站优化陕西建设厅官网证件查询网
  • 哈尔滨专业网站制作设计网站备案包括哪些
  • 温州市建设安监局网站网站后台显示不全
  • 南京 网站设计透明风格wordpress
  • 网站后台的形成电子商务网站的构建
  • 国外营销网站联通套餐
  • 安徽省建设监理协会网站深圳网络推广平台
  • 烟台做网站推广的公司哪家好网站注册备案之后怎么做