gui

python之GUI编程-tkinter学习

纵饮孤独 提交于 2019-11-30 12:36:02
新手刚学习几天,勿喷!好多东西不会,没有相关文档全面学习,有资源的希望分享下!总的来说很难用。 一、源代码 1 import itchat 2 import requests 3 import tkinter 4 from tkinter import messagebox 5 6 7 def func(self): 8 cont = text2.get(1.0, 'end').replace('\n', '') 9 if len(cont) == 0: 10 messagebox.showinfo("错误", "不能发送空消息") 11 return 12 else: 13 try: 14 req = requests.get('http://i.itpk.cn/api.php', params={'question': cont}) 15 text1.config(state='normal') 16 text1.insert(tkinter.INSERT, '我: ' + cont + '\n') 17 text1.config(state='disabled') 18 text2.delete('1.0', 'end') 19 text1.config(state='normal') 20 text1.insert(tkinter.INSERT, '夏莉: ' + req

第一次结对编程作业

可紊 提交于 2019-11-30 10:56:05
一、原型分析: 我们根据技术助教的作业要求,初步将界面分为五个,分别是:登录、游戏大厅、游戏、历史战绩、排行总榜。使用GUI Design Studio进行页面设计。下图是我们为这个软件设计的软件图标: 在“登录”界面中,需要做的就是输入用户名、密码,然后点击确认。于是我们在GUI Design Studio中先创建一个新工程保存下来,然后新建一个设计,选择一个对话框,对对话框进行修改,分别填充文字,补充按钮。下图是设计成果: 在“游戏大厅”部分,首先我们创建了一个窗口,然后新增菜单栏,分别有开始、暂停、退出、帮助,开始下设弹出、返回大厅、当前对局、排行总榜、历史战绩、退出登录六个二级菜单。其次设计匹配赛、排行总榜、历史战绩三个按钮。窗口左边的话由于没有什么内容可填充,于是把我们的软件图标放进去加以美化。下图是设计成果: 在“游戏”界面中,窗口的基本操作和“游戏大厅”中的一样,除了在登录界面以外的其他界面中窗口操作都是一样的,下面不再进行赘述。我们采取了3-5-5的排列方式,将13张牌进行对齐,一开始发牌就是已经分为现成的3-5-5的排列方式。下图是设计成果: 在“历史战绩”界面中,我们就粗糙的就行了两列展示,一列是历史对局,历史对局的话,采用时间叙述,年/月/日/时/分,采用24小时计时法,一列是结果,写图是设计成果: 在“排行总榜”界面中,排行总榜同历史战绩一样,都是分两列

Git 界面GUI和命令行Command两种操作方式

馋奶兔 提交于 2019-11-30 08:58:53
Git 进行代码版本管理时,有两种操作方式: 图形界面 GUI 和 命令行 Command 图形界面 GUI : 有平台限制,目前仅支持Windows系统,Linux(Unix)都是命令行模式,并且图形界面每次提交好像Display显示文件数有限制(如:最大显示20000个文件) 命令行 Command : 没有平台限制,Windows、Linux(Unix、Mac OS X)下都支持,通过 gid add dir/files 添加文件,没有文件数限制 下面详细介绍 Git 管理和操作的两个方式: 1、图形界面GUI 首先,下载Windows下的Git图形界面工具: msysgit 或 官方下载 接着,安装 msysgit ,如下载最新的 Git-1.7.10-preview20120409.exe 后安装,操作方式有Git GUI 和 Git Bash两种,默认为 Gui Bash Only 然后,安装完后,在开始 —> 所有程序 —> Git 中,有 Git Bash 和 Git Gui 两个图标,点击启动 Git Gui 界面如下: 可以创建新的版本库(本地)、克隆已有版本库(远程)、打开已有版本库(本地或远程) 例如:克隆已有的版本库(远程),如 克隆下载 linux-kernel-source 步骤: a、 点击“克隆已有版本库”,依次输入远程版本库(xxx)和本地目录

Git GUI中文乱码问题解决方法

ぐ巨炮叔叔 提交于 2019-11-30 02:15:04
Windows系统的Git默认是不支持中文显示的,需要进行一系列的设置才能避免乱码的出现,下面总结如何配置Git使其支持中文显示。 Git bash options UTF-8编码配置 1.首先进入git bash终端,右键,选择options: 2.然后,将Text配置成如下图所示: Git GUI中文乱码问题解决方法 使用Git GUI的查看代码的时候,会出现中文乱码: 在乱码的区域点击鼠标右键,选择Encoding,然后选择Unicode(UTF-8),乱码问题解决: 使用Git GUI的查看代码的时候,会出现中文乱码: 在乱码的区域点击鼠标右键,选择Encoding,然后选择Unicode(UTF-8),乱码问题解决: 来源: https://www.cnblogs.com/1906859953Lucas/p/11545940.html

GUI添加组件、异常

爷,独闯天下 提交于 2019-11-30 01:47:11
GUI添加组件的步骤: 1,设置布局管理器 2,产生组件对象 3,将组件加入容器 在GUI中采用的是先进先出,后进后出的原则。 异常:异常是描述出错信息的对象。 异常的API结构:Throwable是父类,有两个子类Error和Exception。其中Error是错误,是崩溃级别的错误, 可以捕获,但无法处理。Exception是普通错误,可以捕获,可以处理 错误和异常的特点: 错误是可以捕获,但无法处理 异常是可以捕获,也可以处理。 Error是所有错误 类的父类 Exeption是所有异常类的父类 try{ 被保护的代码 }catch(NumberFormatException e){//创建异常变量e,接收try块抛出的异常对象 捕获块 e.printStacktrace();//创建异常变量 } public static void main(String[] args) { try { String m= JOptionPane.showInputDialog(null,"请输入一个数"); int n=Integer.parseInt(m); JOptionPane.showMessageDialog(null, n*n); }catch(RuntimeException e) {//创建异常变量e,接收try块抛出的异常对象 e.printStackTrace();/

客户端GUI程序开发漫谈

白昼怎懂夜的黑 提交于 2019-11-29 19:28:19
这篇文章包含了这个领域的很多开源项目的介绍,还有我多年来的心血和汗水 去年夏天的时候,我 用QT做了一个小工具 后来还 用QT做了流程设计器 我把程序分享给 飞扬青云 之后,他甚至搞出来 一套QT的皮肤 来 说实在的,QT确实挺强大的, 如果你有一个项目,需要跨平台GUI开发,你又有一个C++团队的话, 那么做技术选型的时候,可以负责任的说,QT是不二之选 这时可能有人会提到 GTK+ , 我想说的是GTK+对windows平台的支撑力度实在是少的可怜 linux的版本已经到了3.16了 ,windows的版本才到3.0.6,整整差10个版本(我这里说的是GTK3) 而且大部分常见的控件在windows上都没有 来看看我在 一个开源项目上踩的坑 吧。 当然还有人可能提到 wxWidgets ,这玩意儿我没有深入研究过 只知道它是在原生图形API上再做的包装,想想windows API搞出来的窗口有多古板,还是算了。 类似的还有 iup ,跟wxWidgets的原理是一样的。 还有人直接用游戏库做GUI程序的,比如 nimx 和 nanovg nimx是基于 SDL2 图形引擎搞出来的GUI框架 我在nimx上踩到两个坑, 其中一个提交pull request给作者 ,作者也认了 第二个坑 就直接把我坑死了。 nanovg是基于 OpenGL 图形引擎搞出来的GUI框架。

jmeter非GUI模式运行报错分析总结

◇◆丶佛笑我妖孽 提交于 2019-11-29 19:11:18
现象: 在图形界面运行脚本时不报错,但是在非GUI模式下运行时报错: [jmeter] Error in NonGUIDriver org.apache.jorphan.util.JMeterStopTestException: ModuleController:*** has no selected Controller (did you rename some element in the path to target controller?), test was shutdown as a consequence 分析: 报错信息提示很明确,是说模块控制器***没有选中目标控制器。因此,我在脚本中对于出现该模块控制器的地方进行逐一排查,发现都选中了目标控制器。 进一步分析: 为了定位是jmeter本身的bug,还是脚本的错误,于是我新建了一份脚本,想模拟了同样的场景。在模拟的过程中,发现原脚本里有路径很深的被禁用的模块控制器没有选中有效的目标控制器!!!如下图。 解决方案: 将所有禁用的***模块控制器都排查了一遍,并赋 值有效的路径。 验证: 在非GUI模式下进行运行,成功! 进一步猜想: 如果整个线程组被禁用了,那该线程组下被禁用的模块控制器如果没有选中有效的目标控制器的话,会报错吗? 进一步验证: 经过进一步验证,发现即使整个线程组被禁用了

wxPython:python首选的GUI库

家住魔仙堡 提交于 2019-11-29 16:29:22
wxPython:python首选的GUI库 文章目录 wxPython:python首选的GUI库 概述 窗口程序的基本框架 事件和事件驱动 菜单栏/工具栏/状态栏 动态布局 AUI布局 DC绘图 定时器和线程 后记 概述 跨平台的GUI工具库,较为有名的当属GTK+、Qt 和 wxWidgets 了。GTK+是C实现的,由于C语言本身不支持OOP,因而GTK+上手相当困难,写起来也较为复杂艰涩。Qt 和 wxWidgets 则是C++实现的,各自拥有庞大的用户群体。虽然我喜欢wxWidgets,但还是尽可能客观地搜集了关于Qt 和 wxWidgets 的对比评价。 关于LICENSE Qt最初由芬兰的TrollTech公司研发,后来卖给了Nokia(没看错,就是曾经闻名遐迩的手机巨头诺基亚),2012年Digia从诺基亚完整收购了QT的技术平台和知识产权。QT的背后一直由商业公司支持,奉行的是双 license 策略,一个是商业版,一个是免费版。这个策略严重限制了Qt的用户群体。据说Nokia收购之后意识到了这个问题,自4.5版本之后采用了LGPL,开发人员可以发布基于免费Qt库的商业软件了。wxWidgets最开始是由爱丁堡(Edinburgh)大学的人工智能应用学院开发的,在1992年开源,一直遵循LGPL。wxWidgets从一开始就是程序员的免费午餐。 关于兼容性

Tomcat调优配置

不羁的心 提交于 2019-11-29 16:18:06
以解压版本的tomcat7.0为例 1. JVM启动参数修改 在tomcat 的bin 下catalina.bat 里 rem Guess CATALINA_HOME if not defined set CURRENT_DIR=%cd% 后面添加 set JAVA_OPTS=-Xms1024m -Xmx1024m -Xmn256m -XX:PermSize=128M -XX:MaxPermSize=128m -Djava.awt.headless=true -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:D:\log\jvm\gc.log 2. 配置管理用户 在tomcat解压目录下找到conf/tomcat-users.xml 在倒数第二行添加: <role rolename="manager-gui"/> < user username="admin" password="admin" roles="manager-gui"/> 打开:http://localhost:8080/manager/status 以admin/admin 登录查看tomcat状态。 来源: https://blog.csdn.net/geekooler/article/details/100852569

gui的使用

99封情书 提交于 2019-11-29 14:00:45
<!DOCTYPE html> <html> <head> <title></title> <script src="https://cdn.bootcss.com/three.js/r67/three.js"></script> <script src="https://cdn.bootcss.com/stats.js/r10/Stats.min.js"></script> <script type="text/javascript" src="https://cdn.bootcss.com/dat-gui/0.7.3/dat.gui.js"></script> <style> body { margin: 0; overflow: hidden; } </style> </head> <body> <div id="Stats-output"> </div> <div id="WebGL-output"> </div> <script type="text/javascript"> // 初始化 function init() { var stats = initStats(); // 创建一个场景 var scene = new THREE.Scene(); // 创建一个相机 var camera = new THREE.PerspectiveCamera(45,