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

2022-05-15科技189

今天翻了翻《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.

相关文章

如果Tik Tok是马云旗下产品,他如何应对美国的封杀收购?

无论哪个互联网公司旗下,结果都差不多。 中国90%的互联网公司都有外国资本参股,没有像“华为”这样的“中国全资公司”。当年没有“日本软银”投资就没有现在的“阿里巴巴”,这一点大家应该都知道。 中国虽然也有很多“风投资本”,但是中国“风投资本”第一缺乏眼光,第二缺乏魄力。因为互联网公司一开始都是要靠“...

渝车牌是什么地方?

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

拥有1万家门店的苏宁创始人张近东,凭什么称为“中国零售大王”?

所谓变革,就是在变化的世界中经营。-现代管理学之父 彼得.德鲁克 还记得2012年底,王健林与马云的一场“亿元豪赌”吗?当时王健林说:“如果到2022年,电商在中国零售市场的份额占到50%,我给马云1个亿。”这句话与董明珠雷军的那场豪赌有相似之处,不过苏宁老板张近东听了,却不以为然,他们一个是搞互联...

C罗降薪续约尤文,梅西为什么不愿意降薪缓解球队财政危机?

C罗真的是无处可去,如果不降薪留在尤文,有可能甚至没有五大联赛的球队肯要。所以通过降薪能够留在尤文这个级别的球队,对C罗来说是非常值得的。至于梅西不愿意降薪估计有很多原因,其中最主要的原因是梅西还具备那样的价值,其次巴萨近期真的伤了梅西的心。就算是去别的球队降薪,也不会在巴萨同意降薪。当然如果新主席...

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

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

怎样做好互联网行业?

互联网行业的范围很广,不知提问者想具体从事互联网的那一个领域? 互联网由最初发展的简单查询到如今的各种行业的覆盖,从最早的淘宝购物平台到今日的商业帝国经一直是不断在改变。经营方式从最早的单一购买服务到现在的多元化服务与个性化服务一直在不断的完善服务体系。 废话不多说,如提问者所问:现在时期的互联网行...

为何国内互联网巨头企业不去搞火箭、芯片和光刻机等高精尖科研?

这问题问得就像:“为什么星巴克不去搞高铁”一样没有水平,既然说是互联网巨头当然就应该搞互联网相关业务,跟火箭有什么关系?跟芯片和光刻机有什么关系?简直就是为黑而黑。全世界的互联网巨头都不会去搞火箭、芯片和光刻机,火箭、芯片和光刻机都有本身专业的机构去搞,轮不到互联网机构插足。题主似乎本身就对这几个行...

什么是互联网?

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

进博会用车能买吗?

可以买,大力支持买。首先,这些大型的会议指定所用的车辆用途主要是接待,而且,驾驶员要求都是要有一定的驾龄,他们对车辆的熟悉程度和使用方式都比正常的驾驶员更加娴熟,对车的保护意识也更高。 其次,大型的会议用车普遍不会太差,大多使用B级别的车,大众辉昂这个车就是定位B级,这个车无论是空间还是豪华感,动力...

最新的辐射76怎么样?

RPG界大佬Bethesda于2018年11月4日推出了“辐射”系列新作《辐射76》。这是一款在前作《辐射4》基础上增加大量联机内容,以多人合作、pvp为主打玩法的作品,可以说是Bethesda向多人游戏领域进军的一次尝试。相信很多朋友有入手这款游戏的想法。 《辐射76》宣传图 游戏画面 但很多人会...

为什么刘强东缺席世界互联网大会?

刘强东因那次不可描述的事件缠身,凡事应该保持低调,在风声未过,案情尚不明朗之前,不应再抛头露面,惹人非议。 其实抛开案情本身,刘强东还是非常有人情味的企业家。当年创业初期,电商平台赶上互联网泡沫,刘强东发不出工资了,于是被迫去融资,跟投资经理说,“他就想融100万把兄弟们工资发了”。他做事高调,但他...

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

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

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。