gui

在Linux下开发GUI程序的方法

耗尽温柔 提交于 2019-12-01 06:10:05
在Linux下开发GUI程序的方法有很多,比如Gnome桌面使用GTK+作为默认的图形界面库,KDE桌面使用Qt作为默认的图形界面库,wxWidgets则是另一个使用广泛的图形库,此外使用Java中的Swing/AWT组件也可以用于开发Linux下的GUI应用。 本文将依次介绍GTK+、Qt、wxWidgets和Swing/AWT,对其进行对比分析。 1. GTK+ 平台支持 虽然GTK+最初是为X Window系统开发的,但是目前已经发展成为一个跨平台的图形界面API,其支持的平台包括: Linux Unix Windows Mac OS X 许可协议 GTK+基于LGPL协议发布,因此可以将GTK+的二进制动态链接库文件整合到私有软件中而无需额外授权。 语言支持 GTK+本身是用C语言编写的,但是可以很方便地通过语言绑定(language binding)和其它语言协同工作,GTK+不同版本的语言绑定支持情况如下图所示。 其中带有Gnome标记的上面7个语言是GTK+官方支持的,减号标记则表示只支持部分功能。 其它特性 与wxWidgets和Qt不同,GTK+支持使用纯C语言进行开发,此外还有一个基于C++的封装项目叫GTKMM。 GTK+是基于GLib构建的,其中GLib是一个通用的C语言库,类似于C++中的STL,提供了对动态数组、链表、队列、散列表、平衡二叉树

GUI学习之三十三——QProgressBar学习总结

丶灬走出姿态 提交于 2019-12-01 05:41:50
今天总结的是QProgressBar的使用方法 一.描述   提供了一个水平或垂直的进度条,用于向用户提供操作进度的指示,用户也可以从进度条看出来程序是否正在运行。 二.功能作用 1.设置范围和当前值 QProgressBar.setValue(self, value: int) QProgressBar.setMinimum(self, minimum: int) QProgressBar.setMaximum(self, maximum: int) QProgressBar.setRange(self, minimum: int, maximum: int) QProgressBar.reset() QProgressBar.value()   不用多说,看名字就知道了。还有一点,如果范围的上下限都是0的话外观效果就是繁忙提示。   还有一点如果使用了reset()是不重置上下区间了,但是把值改成最小值-1。 2.格式设置 QProgressBar.format()->str QProgressBar.resetFormat() QProgressBar.setFormat(self, format: str) %p#百分比 %v#当前值 %m#总值   我们可以直接把关键字套在字符串里一起显示出来。 3.文本标签   文本标签就是旁边显示值的字符串 QProgressBar

maven部署项目到tomcat

痴心易碎 提交于 2019-11-30 22:09:55
一、tomcat配置 1、tomcat的webapp目录下,需要有默认的项目manager; 2、配置tomcat-user <role rolename="manager-gui"/> <role rolename="manager-script"/> <user username="tomcat" password="123456" roles="manager-gui,manager-script"/> 3、启动tomcat。 二、maven的pom配置 <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <url>http://192.168.1.102:8080/manager/text</url> <username>tomcat</username> <password>123456</password> <path>/</path> </configuration> </plugin> 插件的configuration配置好tomcat的manager项目的路径,tomcat的用户名和密码。 三、maven命令 1、tomcat7:deploy

python 运维那些事儿~

三世轮回 提交于 2019-11-30 22:04:08
今天想谈谈“运维”这一行,我将从以下五个部分来和大家分析一下目前Linux这个行业的现状以及如何学好Linux、成为专业运维人员和云服务对运维的影响。 一、linux行业现状 我们知道Linux诞生于1991年,它在国外的发展是非常迅速的,即使目前国内越来越多的应用转向linux平台,但Linux在大多数人的眼中还是不太了解,甚至一个多年从事windows平台下的开发人员,可能也从未使用过。究其原因主要有以下几点: 1.入行门槛较高 由于linux是类UNIX操作系统,我们都知道UNIX是一个相对早期的操作系统,它的设计本身就不是针对普通大众的而是从事计算机的专业人员。虽然linux相对UNIX对大众已经相对友好,但仍然不是普通人能够轻松掌握的操作系统。由于很多人受Microsoft的windows操作系统影响太深,对于linux这种主要以命令行形式操作的系统非常不习惯。所以Linux这行的门槛还是较高。 另一个重要的因素是由于绝大多数的发行版中对中文的支持并不好,其实换句话说是没办法对中文的支持太好。由于Linux涉及的知识相对底层,除去GUI所能提供的中文界面,基本上我们看到的都是英文。如果你是一个Linux运维人员,你很清楚的知道,你每天打交道的linux很少能够看到中文。所以英文是学习Linux一大障碍,尤其是计算机英语与我们上学所学的英文完全是两码事。为什么这么说呢?

Qt和其它GUI库的对比

我的梦境 提交于 2019-11-30 21:49:31
http://c.biancheng.net/view/3876.html 世界上的 GUI 库多如牛毛,有的跨平台,有的专属于某个操作系统;有的只有 UI 功能,有的还融合了网络通信、多媒体处理、数据库访问等底层功能。 Windows 下的 GUI 库 Windows 下的 GUI 解决方案比较多: 基于 C++ 的有 Qt 、MFC、WTL、wxWidgets、DirectUI、Htmlayout; 基于 C# 的有 WinForm、WPF; 基于 Java 的有 AWT、 Swing ; 基于 Pascal 的 有Delphi; 基于 Go语言 的有 walk 和 electron; 还有国内初露头角的 aardio; Visual Basic 曾经很流行,现在逐渐失去了色彩; 如果你有 Web 开发经验,也可以基于 Webkit 或 Chromium 将网页转换为桌面程序。 没有哪一种方案能够独霸 Windows,使用比较多的编程语言是 C++、C#、Java。 用 Qt 来开发 Windows 桌面程序有以下优点: 简单易学:Qt 封装的很好,几行代码就可以开发出一个简单的客户端,不需要了解 Windows API。 资料丰富:资料丰富能够成倍降低学习成本,否则你只能去看源码,关于 DirectUI、Htmlayout、aardio 的资料就很少。 漂亮的界面:Qt

Hyper-V安装CentOS 8问题

谁都会走 提交于 2019-11-30 19:55:45
CentOS 8 已经发布很长时间了,作为一直折腾Linux虚拟机的一员怎么少的了我。 环境&准备工作 系统:Win 10 pro 19H1 虚拟机:Hyper-V ISO:CentOS 8 问题 Hyper-V安装Cent OS 8选择 Server with GUI 开机之后黑屏。官网说: 注意:不要选择带有GUI的服务器作为你的基本环境。有一个已知的问题将阻止图形桌面启动。 ChooseWorkstationon the left underBase Environment Then, chooseContainer Management, Development Tools, and Graphical Admin Tools. 创建VM时选第二代,开机之后白屏提示要重启。 这个要在VM关机后,将安全引导设置为Microsoft 颁发的UEFI证书。 最后就是,为啥我在REHL下载OS这么慢。。。。。。 来源: https://www.cnblogs.com/hoyu/p/11638500.html

JMeter之non-GUI 模式执行

 ̄綄美尐妖づ 提交于 2019-11-30 18:40:59
【转载】JMeter之non-GUI 模式执行 转载https://www.cnblogs.com/fengpingfan/p/5586711.html和http://blog.csdn.net/musen518/article/details/50251031 由于 Jmeter 是一个纯JAVA的应用,用GUI模式运行压力 测试 时,对客户端的资源消耗是相当惊人的,所以在进行正式的压测时一定要使用non-gui模式运行,如果并发数很高或者客户端的硬件资源比较一般的话,还可以以 server 模式用多个client进行分布式测试。 一、应用场景 1、无需交互界面或受环境限制(linux text model) 2、远程或分布式执行 3、持续集成,通过shell脚本或批处理命令均可执行,生成的测试结果可被报表生成模块直接使用,便于生成报告 二、命令行模式优点 1、节约系统资源:无需启动界面,节约系统资源 2、便捷快速:仅需启动命令行,输入命令便可执行,是为命令达人最爱 3、易于持续集成:可通过shell脚本命令执行 或者 适用于Windows和linux执行机,与os无关 命令行容易扩展,比如上集成到jenkins平台,用命令行更加容易 适用于高并发测试,测试开始时,console定期打印统计数据(默认30秒一次),减少cpu消耗,提高执行机并发能力 三、参数详解 四、non

GUI学习之三十—QCalendarWidget学习总结

我怕爱的太早我们不能终老 提交于 2019-11-30 17:05:06
今天学习的是最后一个展示控件——QCalendarWidget 一.描述   QCalendarWidget提供了一个基于每月的日历控件,允许用户选择一个日期,还可以看一下里面的图示:   QCalendarWidget是基于QWidget的一个子类,不像前面所用的QDialog一样具备弹出功能,所以要好多时候都需要结合QDialog使用。 二.功能作用    1.日期范围 QCalendarWidget.setMaximumDate(self, date: typing.Union[QtCore.QDate, datetime.date]) QCalendarWidget.setMinimumDate(self, date: typing.Union[QtCore.QDate, datetime.date]) QCalendarWidget.setDateRange(self, min: typing.Union[QtCore.QDate, datetime.date], max: typing.Union[QtCore.QDate, datetime.date])   设定了范围后,如果日期超出了范围则相应日期会变灰。    2.日期编辑   日期是可以通过鼠标点击来改变的,当然也可以通过键盘来实现 QCalendarWidget.setDateEditEnabled()  

java Gui编程 事件监听机制

你说的曾经没有我的故事 提交于 2019-11-30 16:59:19
前言   经过将近一周的共同努力, HnuLyx 和我终于完成了项目,期间心酸苦辣,受益良多,请允许我一一道来。 问题(需求要求的😂)   Q: 如何复用个人项目实现结对编程项目?   A: 个人项目主要是分为 核心的出题程序 和简单的命令交互两个部分,我们在结对编程了调用了出题程序部分的代码,来完成我们的项目。 正文开始... 项目的开始到结束——初体验 一、初见需求   我们在看到需求后,首先先标记了需求内的主体需求点,如:GUI界面、用户提供手机号,点击注册将收到一个注册码,用户可使用该注册码完成注册等需求,共同确立了主要方向。我们一致认为, 先完成主要功能,然后添加各种部件以及美化,但是初步GUI的设计框架一定要有一定的可拓展性,可以很好的容纳各种功能部件 。之后,我们在UI设计上,集思广益,共同讨论,完成了如下的草图(包含页面跳转),并且明确了分工:HnuLyx主要负责内部运行算法方面的内容,我主要负责UI美化以及算法与UI拼接部分的工作,再由我们二人共同提出想法,分工完成。   值得一提的是,在开始前,我们没有立即着手制作UI以及编写算法,我们先 对Java的UI类进行了重新编写与封装,形成了uiTools的package ,方便复用,减少重复性的代码,极大的减少了工作量;同时,我们还共同注册了 腾讯工蜂 ,以便对想法以及程序缺陷进行管理,制定时间点,里程碑

转-用python进行GUI开发的选择

久未见 提交于 2019-11-30 15:14:41
From: http://www.91linux.com/html/article/program/python/20080101/9439.html Python最大的特点就在于她的快速开发功能。作为一种 胶水型语言 ,python几乎可以渗透在我们编程过程中的各个领域。这里我简单介绍一下用python进行gui开发的一些选择。 1.Tkinter Tkinter似乎是与tcl语言同时发展起来的一种界面库。tkinter是python的配备的标准gui库,也是opensource的产物。Tkinter可用于windows/linux/unix/macintosh操作系统,而且显示风格是本地化的。Tkinter用起来非常简单,python自带的IDLE就是采用它写的。除此外,tkinter的扩展集pmw和Tix功能上都要相对它强大,但tkinter却是最基本的。我认为,在 用python做gui开发,tkinter是最基本的知识,所以这个环节是必须要学习的。你或许在以后的开发中并不常用tkinter,但是一些小型的应用上面,他还是很有用的,而且开发速度也很快。 2.WxPython WxWidgets应该算是近几年了比较流行的GUI跨平台开发技术了。wxWidgets有不同的版本应用,有c++的,也有basic的,现在在python上面也有较好的移植