首页 文章 精选 留言 我的

精选列表

搜索[博客系统],共10022篇文章
优秀的个人博客,低调大师

[雪峰磁针石博客]python tkinter图形工具样式作业

python测试开发项目实战-目录 python工具书籍下载-持续更新 使用tkinter绘制如下窗口 参考资料 本文最新版本地址 本文涉及的python测试开发库 谢谢点赞! 本文相关海量书籍下载 https://github.com/CoderDojoSV/beginner-python 代码 #!/usr/bin/env python3 # -*- coding: utf-8 -*- # 技术支持:https://www.jianshu.com/u/69f40328d4f0 # 技术支持 https://china-testing.github.io/ # https://github.com/china-testing/python-api-tesing/blob/master/practices/tk/tk4.py # 项目实战讨论QQ群630011153 144081101 # CreateDate: 2018-12-02 import tkinter as tk root = tk.Tk() root.configure(background='#4D4D4D') #top level styling # connecting to the external styling optionDB.txt root.option_readfile('optionDB.txt') #widget specific styling text = tk.Text( root, background='#101010', foreground="#D6D6D6", borderwidth=18, relief='sunken', width=17, height=5) text.insert( tk.END, "Style is knowing who you are,what you want to say, and not giving a damn." ) text.grid(row=0, column=0, columnspan=6, padx=5, pady=5) # all the below widgets derive their styling from optionDB.txt file tk.Button(root, text='*').grid(row=1, column=1) tk.Button(root, text='^').grid(row=1, column=2) tk.Button(root, text='#').grid(row=1, column=3) tk.Button(root, text='<').grid(row=2, column=1) tk.Button( root, text='OK', cursor='target').grid( row=2, column=2) #changing cursor style tk.Button(root, text='>').grid(row=2, column=3) tk.Button(root, text='+').grid(row=3, column=1) tk.Button(root, text='v').grid(row=3, column=2) tk.Button(root, text='-').grid(row=3, column=3) for i in range(10): tk.Button( root, text=str(i)).grid( column=3 if i % 3 == 0 else (1 if i % 3 == 1 else 2), row=4 if i <= 3 else (5 if i <= 6 else 6)) root.mainloop() 可以使用十六进制颜色代码为红色(r),绿色(g)和蓝色(b)的比例指定颜色。常用的表示是#rgb(4位),#rrggbb(8位)和#rrrgggbbb(12位)。 例如,#ff是白色,#000000是黑色,#f00是红色(R = 0xf,G = 0x0,B = 0x0),#00ff00为绿色(R = 0x00,G = 0xff,B = 0x00),#000000fff为蓝色(R = 0x000,G = 0x000,B = 0xfff)。 或者,Tkinter提供标准颜色名称的映射。有关预定义命名颜色的列表,请访问http://wiki.tcl.tk/37701或http://wiki.tcl.tk/16166。

优秀的个人博客,低调大师

[雪峰磁针石博客]python GUI作业:tkinter grid布局

python测试开发项目实战-目录 python工具书籍下载-持续更新 python 3.7极速入门教程 - 目录 要求 使用tkinter生成如下窗口: 参考资料 本文最新版本地址 本文涉及的python测试开发库 谢谢点赞! 本文相关海量书籍下载 python工具书籍下载-持续更新 python GUI工具书籍下载-持续更新 参考代码 #!/usr/bin/python3 # -*- coding: utf-8 -*- # 技术支持:https://www.jianshu.com/u/69f40328d4f0 # 技术支持 https://china-testing.github.io/ # https://github.com/china-testing/python-api-tesing/blob/master/practices/tk/tk2.py # 项目实战讨论QQ群630011153 144081101 # CreateDate: 2018-11-27 import tkinter as tk from tkinter import ttk from tkinter import scrolledtext from tkinter import Menu # Create instance win = tk.Tk() # Add a title win.title("Python GUI") tabControl = ttk.Notebook(win) # Create Tab Control tab1 = ttk.Frame(tabControl) # Create a tab tabControl.add(tab1, text='Tab 1') # Add the tab tab2 = ttk.Frame(tabControl) # Add a second tab tabControl.add(tab2, text='Tab 2') # Make second tab visible tabControl.pack(expand=1, fill="both") # Pack to make visible # LabelFrame using tab1 as the parent mighty = ttk.LabelFrame(tab1, text=' Mighty Python ') mighty.grid(column=0, row=0, padx=8, pady=4) # Modify adding a Label using mighty as the parent instead of win a_label = ttk.Label(mighty, text="Enter a name:") a_label.grid(column=0, row=0, sticky='W') # Modified Button Click Function def click_me(): action.configure(text='Hello ' + name.get() + ' ' + number_chosen.get()) # Adding a Textbox Entry widget name = tk.StringVar() name_entered = ttk.Entry(mighty, width=12, textvariable=name) name_entered.grid(column=0, row=1, sticky='W') # align left/West # Adding a Button action = ttk.Button(mighty, text="Click Me!", command=click_me) action.grid(column=2, row=1) # Creating three checkbuttons ttk.Label(mighty, text="Choose a number:").grid(column=1, row=0) number = tk.StringVar() number_chosen = ttk.Combobox(mighty, width=12, textvariable=number, state='readonly') number_chosen['values'] = (1, 2, 4, 42, 100) number_chosen.grid(column=1, row=1) number_chosen.current(0) chVarDis = tk.IntVar() check1 = tk.Checkbutton(mighty, text="Disabled", variable=chVarDis, state='disabled') check1.select() check1.grid(column=0, row=4, sticky=tk.W) chVarUn = tk.IntVar() check2 = tk.Checkbutton(mighty, text="UnChecked", variable=chVarUn) check2.deselect() check2.grid(column=1, row=4, sticky=tk.W) chVarEn = tk.IntVar() check3 = tk.Checkbutton(mighty, text="Enabled", variable=chVarEn) check3.deselect() check3.grid(column=2, row=4, sticky=tk.W) # GUI Callback function def checkCallback(*ignoredArgs): # only enable one checkbutton if chVarUn.get(): check3.configure(state='disabled') else: check3.configure(state='normal') if chVarEn.get(): check2.configure(state='disabled') else: check2.configure(state='normal') # trace the state of the two checkbuttons chVarUn.trace('w', lambda unused0, unused1, unused2 : checkCallback()) chVarEn.trace('w', lambda unused0, unused1, unused2 : checkCallback()) # Using a scrolled Text control scrol_w = 30 scrol_h = 3 scr = scrolledtext.ScrolledText(mighty, width=scrol_w, height=scrol_h, wrap=tk.WORD) scr.grid(column=0, row=5, sticky='WE', columnspan=3) # First, we change our Radiobutton global variables into a list colors = ["Blue", "Gold", "Red"] # We have also changed the callback function to be zero-based, using the list # instead of module-level global variables # Radiobutton Callback def radCall(): radSel=radVar.get() win.configure(background=colors[radSel]) # create three Radiobuttons using one variable radVar = tk.IntVar() # Next we are selecting a non-existing index value for radVar radVar.set(99) # Now we are creating all three Radiobutton widgets within one loop for col in range(3): curRad = tk.Radiobutton(mighty, text=colors[col], variable=radVar, value=col, command=radCall) curRad.grid(column=col, row=5, sticky=tk.W) # row=5 ... SURPRISE! # Create a container to hold labels buttons_frame = ttk.LabelFrame(mighty, text=' Labels in a Frame ') buttons_frame.grid(column=0, row=7) # Place labels into the container element ttk.Label(buttons_frame, text="Label1").grid(column=0, row=0, sticky=tk.W) ttk.Label(buttons_frame, text="Label2").grid(column=1, row=0, sticky=tk.W) ttk.Label(buttons_frame, text="Label3").grid(column=2, row=0, sticky=tk.W) # Exit GUI cleanly def _quit(): win.quit() win.destroy() exit() # Creating a Menu Bar menu_bar = Menu(win) win.config(menu=menu_bar) # Add menu items file_menu = Menu(menu_bar, tearoff=0) file_menu.add_command(label="New") file_menu.add_separator() file_menu.add_command(label="Exit", command=_quit) menu_bar.add_cascade(label="File", menu=file_menu) # Add another Menu to the Menu Bar and an item help_menu = Menu(menu_bar, tearoff=0) help_menu.add_command(label="About") menu_bar.add_cascade(label="Help", menu=help_menu) name_entered.focus() # Place cursor into name Entry #====================== # Start GUI #====================== win.mainloop()

优秀的个人博客,低调大师

[雪峰磁针石博客]性能测试工具nGrinder介绍

安装 以linux,这里采用的版本是centos 6 64bit,性能测试工具不建议在Windows上部署。 下载: https://github.com/naver/ngrinder/releases/ 选择最后面的war包。 服务器端启动: # java -XX:MaxPermSize=200m -jar ngrinder-controller-3.4.war --port 8058 这样nGrinder的管理页面就部署好,你可以简单的把ngrinder-controller的功能理解为性能测试展示和控制,后面会进行详细介绍。 打开网址: http://183.131.22.113:8058 默认用户名和密码都为admin 注意:这里的"Remember me"是短暂停留,页面关闭之后还是需要重新登陆的。 登录后点击右上角的admin,选择"下

优秀的个人博客,低调大师

如何在github上免费发布个人静态博客

●本文仅是缩略,笔者已将详细内容发布到github上 ●可点击本文最后的"阅读更多"进行访问,或者在github上搜"cyent markdown"也可以看到 目录 ● 本文概述 ● mkdocs-material介绍 ● 安装 ● 初始化项目 ● 修改主题 ● 运行 ● 发布到GitHub pages ● 发布到个人HTTP Server ● mkdocs.yml注意事项 ● 添加页面 ● 添加扩展 ● markdown语法 ● 其他功能 ●最佳实践 本文概述 mkdocs-material入门,包括安装、运行、发布至github-pages及个人站点 mkdocs-material介绍 符合google material ui规范的静态文档网站生成器,使用markdown进行文档书写 mkdocs ● python编写的markdown解释器、编译器,带有本地cli工具 ● 自带基于Tornado的小型http服务,用于本地调试 ● 内置一键式发布至GitHub Pages ● 内置mkdocs风格、readthedocs风格的主题,并支持自定义主题 ● 支持调用python模块实现语法及渲染的扩展 mkdocs-material ● python模块,符合google material ui规范的mkdocs自定义主题 ● 针对特定语法、功能做了渲染优化 ● 根据客户端浏览器页面尺寸自动缩放,对PC、移动设备都友好 ● 丰富的页面配色,多达19种主体配色和16种悬停链接文字配色 ● 支持中文搜索 ●支持统计功能,如百度统计,谷歌统计 安装 pip install mkdocs mkdocs-material 若下载慢,可更换安装源为豆瓣 pip install --trusted-host pypi.douban.com -i http://pypi.douban.com/simple/ mkdocs mkdocs-material 初始化项目 mkdocs new my-project 会生成my-project目录,进入该目录里,可以看到默认放置了一些文件,包括mkdocs.yml,这是主配置文件 修改主题 mkdocs.yml里添加: theme: name: material 运行 # 在my-project目录里执行 mkdocs serve 通过浏览器访问本地ip的8000端口(比如http://127.0.0.1:8000/) 查看效果,如图所示 发布到GitHub pages 通过 mkdocs gh-deploy自动编译出html并发布至GitHub pages,步骤如下 初始化repo 1.在github上创建一个repo,名字叫my-project(可以是其他名,这里先假设叫my-project),创建repo时候选择初始化带有README.md 2.使用git clone将repo同步到本地 导入项目 1.将mkdocs根目录(即my-project目录)下的所有东西移到刚刚git clone下来的git目录下 2.然后可以将最早创建的mkdocs根目录(即my-project目录)删除了 发布 在本地git目录下执行 mkdocs gh-deploy 发布到个人HTTP Server 通过 mkdocs build编译出html并手动同步至http server的根目录 生成站点文件 在git目录下执行命令 mkdocs build 命令执行完毕后可以看到site目录 发布至http server 将site目录里的所有东西拷贝到http server的根目录下 mkdocs.yml注意事项 由于是yaml格式,因此首先要符合yaml的语法要求 docs下需要一个index.md,作为站点首页 文档层次结构虽然可以很多层,但最佳实践是控制在2层内,最多不要超过3层,否则展示会不够友好 添加页面 在my-project/docs/里放置.md文件,可以自行组织目录结构 然后在mkdocs.yml里添加,比如这样: nav: - 介绍: index.md - 安装: - 本地环境搭建: install/local.md - 发布至GitHub Pages: install/github-pages.md - 发布至自己的HTTP Server: install/http-server.md - 语法: - 语法总览: syntax/main.md - 标题: syntax/headline.md - 段落: syntax/paragraph.md ● 上面的index.md就是放置在my-project/docs/index.md ●上面的local.md就是放置在my-project/docs/install/local.md 添加扩展 只有添加了扩展,才能完美使用mkdocs-material官方支持的所有markdown语法 mkdocs.yml里添加: markdown_extensions: - admonition - codehilite: guess_lang: false linenums: false - toc: permalink: true - footnotes - meta - def_list - pymdownx.arithmatex - pymdownx.betterem: smart_enable: all - pymdownx.caret - pymdownx.critic - pymdownx.details - pymdownx.emoji: emoji_generator: !!python/name:pymdownx.emoji.to_png - pymdownx.inlinehilite - pymdownx.magiclink - pymdownx.mark - pymdownx.smartsymbols - pymdownx.superfences - pymdownx.tasklist - pymdownx.tilde markdown语法 mkdocs-material支持几十种markdown语法,有许多很酷炫的功能与效果,由于篇幅有限,无法在这一一展示,因此这里仅列举下所支持的主要语法 1.标题 2.段落 3.引用 4.表格 5.代码 ● 行内 ● 区块 ● 高亮 6.字体样式 ● 斜体,粗体,粗斜体 ● 上标,下标 ● 下划线 ● 横线 ● 下划线+横线 7.列表 ● 无序列表 ● 有序列表 ● 任务列表 8.分割线 9.链接 ● 普通链接 ● 自动链接 ● 锚点提示 10.图片 ● 行内式 ● 参考式 11.转义 12.高亮 ● 代码高亮 ● 背景高亮 13.注解 ● 介绍 ● 完整格式 ● 空标题 ● 无标题 ● 无类型 ● 折叠 ● 11种颜色样式 ● 嵌套 14.脚注 15.元信息 16.数学公式 ● 介绍 ● 导入js ● 用法 17.emoji ● 介绍 ● 工作原理 ● 最佳实践 18.特殊符号 19.嵌套 ● 介绍 ● 注解-注解 ● 列表-列表 ● 引用-引用 ● 注解-代码块 ● 列表-代码块 ● 引用-代码块 ● 黄色区块-代码 ● 绿色区块-代码 ● 红色区块-代码 ● 绿接红区块-代码 ● 注解-列表-引用 ● 列表-列表-引用 ●引用-引用-代码 其他功能 mkdocs-material本身还支持如下功能: ● 添加js,可用于站点统计(如百度统计,谷歌统计) ● 页面以及跳转文字的配色 ●中文搜索 最佳实践 如果希望自己所写的markdown可以兼容各个markdown编辑器,那么只需了解markdown的传统语法即可 如果想让自己所写的markdown发布到web服务器,例如GitHub Pages、自己搭建的HTTP Server,那么可以考虑使用本文所介绍的语法,以实现丰富多样的渲染效果。 笔者建议:尽量使用传统语法,只在必要时候才使用本文介绍的语法。因为排版简洁、条理清晰才能带来最舒服的阅读感受。 原文发布时间为:2018-11-7 本文作者:小慢哥 本文来自云栖社区合作伙伴“ 老叶茶馆”,了解相关信息可以关注“ 老叶茶馆”。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册