Python GUI初步认识与C/S端发展之我见|拉呱

2022-05-15科技237

今天翻了翻《Python编程(第四版)》,这本书其实买来还是有点久的,毕竟现在Python 3.9都出来了,这书是Python 3.1/3.2 Beta的示例。当然也暴露了我这书买来没怎么翻过的事实。(狗头)

其实翻书本来是想看看有没有写关于Python类的装饰符相关的东西,结果翻了下目录好像并没有。不过我发现了一个在Python世界一直没有关注过的东西:GUI。

其实对于我这个B/S死忠粉来说,对于C/S的应用几乎没有怎么编程经验,也就没怎么接触过GUI这块,无论是大学期间Java程序设计这门课讲GUI还是C# .net课上的GUI,相关的课程作业和实验设计我都是有点头疼的,emmmm 可能也跟我一直从事B/S相关事情有关系吧。

今天吸引来,主要是因为想了解下Python GUI比起Java和C#,有没有什么特点。

先说结论:Python自带GUI框架,能用;几行代码开个窗口,方便。果然人生苦短,我用Python。(狗头)

Python GUI框架主要有tkinter、wxPython、PyQt、PythonCard、Dabo等,而Python自带的是thinkter。简单的窗口启动代码如下:

from tkinter import *Label(text="啥玩意").packmainloop运行后如图:

咋说呢,三行代码起一个GUI,这是我第一个接触到的能干这个事儿的语言(当然时过境迁,现在估计有很多现代化语言都可以干这个事儿了,知道的大佬可以在评论区留言)。

再来点元素:

from tkinter import *from tkinter.messagebox import showinfodef reply: showinfo(title="恋爱循环", message="按钮按下去啦!")window = Tkbutton = Button(window, text="快来点击", command=reply)button.packLabel(text="啥玩意").packwindow.mainloop运行后如图:

好!很好!很有精神!不算空行才9行代码,把Java需要写十几行实现的功能给搞定了。

Python GUI的面向对象写法以及窗口嵌套:

类定义文件TestGUI.py:

from tkinter import *from tkinter.messagebox import showinfoclass TestGUI(Frame): def __init__(self, parent=None): Frame.__init__(self, parent) button = Button(self, text='按下去', command=self.reply) button.pack def reply(self): showinfo(title="恋爱循环2", message="でも そんなんじゃ だーめ")调用文件bindgui.py:

from tkinter import *from TestGUI import TestGUImain = TkLabel(main, text=__name__).packpopup = ToplevelLabel(popup, text="绑定").pack(side=LEFT)TestGUI(popup).pack(side=RIGHT)main.mainloop运行后如图:

好了,Hello World就写到这了,我也不做代码讲解了。想多说下自己对于C/S端当下发展的理解。

其实很长一段时间我一直觉得在移动互联网的蓬勃发展,B/S端将逐步取代C/S端,一方面是因为越来越多的人用手机而不是PC,另一方面由于Web技术的进步,Web在全平台适配上已经不是什么难事,因此当初我认为C/S终将会走向没落,而B/S终究会成为最为重要的程序开发方式。

当然直到现在,我觉得我的判断还是对了一半的:B/S端确实成为了最为重要的程序开发方式,即使是App开发,使用Native开发的也要少于用WebView的。但是我失算的一点是,C/S端并没有走向没落,相反人家还活得好好的。究其原因我认为当时的判断忽略了两点:一是物联网IoT相关领域的发展,二是传统行业对于GUI软件的需求。

众所周知,近几年IoT其实发展的还是可以的,尤其是工业互联网和智能家居领域的相关技术发展,而这些数字化系统必不可少的需要配置相关的软件去操控这些物理设备,需要在系统启动后就能直接打开软件并进入相关界面,这个时候使用B/S其实并不是特别合适,因为毕竟浏览器这种方式还需要访问网址之类的东西。当然随着目前的发展,有些操控版已经换成了基于Android开发的App了,这种的倒是可以解决这个问题。

另外就是传统行业一些需求,其实并不是说他们的业务不适合B/S开发,而是技术债积累过多,对于系统的重构成本可能不太合算,这样的话反而使用C/S端更容易一些。而且据我所知C#的.net窗口开发在画界面方面是可以直接拖拽的,所以C/S编程相关的职位其实要求不是那么高,而换了B/S之后所有架构都要重新评估,引入了技术复杂度,对于一个非互联网的传统企业来说,IT本身就属于成本部门或稳定部门而不是利润来源部门,必然唯恐避之不及。这种客观存在的情况也是C/S一直存在的必要之一,当然相比第一个的增量,这一个仅仅是一个存量,并不能阻挡大势。

这就让我想起当年互联网兴起的时候,有人宣称书籍将会消亡,而再往前电视出现之后,有人也宣称过广播会消亡。虽然我们都知道事物都是螺旋上升的,旧事物会消亡,但是这个真正的“旧”的道理,是站在对人是否有用、有利、能可持续发展的角度来看的。书籍和广播固然是传统的,但它仍然是人们获取知识、交流思想和传输知识的有益渠道,只要这个作用没有消失,他们也不会消失,即使他们从历史的角度来说,确实是“旧”的。

拿过这样的思想,再来看待当下科技互联网的发展,其实所有的主流语言、开发模式、软件工程方式方法,都是这样的道理,只不过是你方唱罢我登场。The wheel turns, nothing is ever new.

相关文章

85度c面包总部在哪里?

85度C公司本名:津味(上海)餐饮管理有限公司。地 址: 上海上海静安区威海路600号。85度C,是一家台湾时尚餐饮公司,主要经营咖啡和甜点。取名来自“咖啡在摄氏85°C时喝起来最好喝的意思”,以五星级的主厨与宴会指定的顶级咖啡豆而成立的新形态创意店,以高雅明亮的店装搭配简介的品牌形象,让消费者在明...

数字Ⅳ是几?

IV是数字4,V是数字5,VI是数字6。 大约在两千五百年前,罗马人还处在文化发展的初期,当时他们用手指作为计算工具。为了表示一、二、三、四个物体,就分别伸出一、二、三、四个手指;表示五个物体就伸出一只手;表示十个物体就伸出两只手。 当时,罗马人为了记录这些数字,便在羊皮上画出 Ⅰ、Ⅱ、Ⅲ 来代替手...

渝车牌是什么地方?

渝车牌指的是重庆市的车牌。重庆市车牌分为: 渝A、渝B、渝C、渝D、渝F、渝G、渝H、渝N(国有政企专用牌照)。其中渝A代表渝中区、九龙坡区、沙坪坝区、大渡口区、江北区车牌;渝B代表南岸区、北碚区、渝北区、巴南区及长寿区、綦江区车牌;渝C代表永川区、江津区、合川区、潼南县、铜梁县、璧山县、大足区及荣...

怎么解决无聊?、(上网也无聊)?

是你自身的心态问题。你本人的生活方式与身边朋友有着必要的联系。你生活的很不充实你肯定会无聊,找点事做做,那很自然就会去上网,在里面寻找自己另一个快乐。其实很多人都一样,对自己的不满,某种事物对自己的压力和自己的寂寞。大多人都会跑去上网,只有小数人是寻死。如何充实自己那就要看看你自己喜欢做些什么。爱好...

你们说乔布斯对世界科技的贡献是什么?

对IT方面的影响是巨大的,确定了几次IT领域的跨时代品类定型之作。 分几个部分简单说,不足之处还请指正。 PC/个人电脑的主要定义者1977年推出Apple II,基本确定了个人电脑长期沿用的样子,其特征如: 机箱将内部电路隐藏 自带显示器(可支持彩色显示) 机箱内带有扩展槽,可插扩展卡 系列化机型...

什么是互联网?

互联网是新时代快速发展下的潮流行业,是各个网络之间的共同连接所形成的庞大网络系统,互联网也是我们日常称之的英特网。例如各计算机电脑服务器与普通每个个人工作站计算机系统的互相连接组成的网络结构。 互联网是我们信息时代下的信息数据传输通道,随着互联网的调整发展,计算机技术与信息时代,互联网如今已经深入...

有说法称美国可以让中国网络瞬间瘫痪,是真的吗?为何全球十三个根服务器都不在中国?

首先,美国只能切断美国和中国的网络,他无法切断中国和其他国家之间的网络。 另外,就算是互联网断网了,又有什么可担心的,互联网上都是资讯分享,也没有什么重要机密信息。最严重的也就是影响国内对国外网站的访问,电子邮件的发送和接受而已。 再一个,DNS瘫痪不是真正的网络瘫痪,只是无法解析域名而已,IP访问...

谢列蔑契娃机场到达航站楼B怎么到F?

谢列梅捷沃机场的B航站楼是在北面,D、E、F 航站楼是在南面,中间隔着飞机跑道。B 航站楼一层和二层都是到达层,只供国内航线使用,因此,时间只花在提取行李;拿到行李后走到大堂西端,乘扶梯或电梯到地下层搭乘 免费捷运,由于尚未过安检,要坐在前头2个车厢,穿过跑道下面2公里多的路程很快就能抵达南面的航站...

如何申请免费的论坛?

与流行的社区论坛软件系统Discuz不一样,它提供给用户的不仅仅论坛软件,还包括免费域名、不限容量的免费论坛服务器空间、不限流量的免费数据带宽、免费专业级论坛技术服务等一系列免费服务。 如今,论坛(BBS)是中国互 联网最早、最主流的应用之一,诞生十多年来一直经久不衰,已成为人们上网的最主要兴趣点之...

你如何看待苏宁张近东和富士康郭台铭不约而同抛售阿里巴巴股份,“抛弃”阿里?

谢谢您的问题。苏宁张近东和富士康郭台铭抛售阿里股票,目的不尽相同。 张近东的抛售。2015年苏宁与阿里巴巴还是合作关系,苏宁花了21亿美元收购阿里巴巴新增发的2632万股票。但是2017年底开始,张近东开张出售阿里股票。第一,是为了止损,按照现在的汇率折合为人民币,大约是145亿元,比当初亏了4...

H3C未来有可能超过华为吗?

感谢邀请,我和华为和H3C都有过接触,我认为H3C目前是远远不能超过华为的,主要的原因倒不是因为H3C技术不如华为,或者H3C没有芯片能力,而是H3C整体的企业运作策略非常的不健康。 首先,H3C和华为的竞争,主要是集中在数据通信领域,如果是和华为比无线、比传输,H3C连业务都没有,是肯定不会超过华...

麦加城附近的地形和气候分别有什么特点?

麦加海拔277米,距离红海大约80公里。麦加位处群山之间麦加和沙特阿拉伯的其他城市不同,冬季时反而较为温暖。温度可从半夜的摄氏17°C飙升至午后的25°C。夏季炎热,午后往往超过40°C,晚间却骤降至30°C。麦加的雨量稀少,集中在十二月和一月。一年之中常常会出现反常的天气型态,例如夏季时来自阿拉伯...