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

今天翻了翻《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初步认识与C/S端发展之我见|拉呱】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.packdef 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了,这种的倒是可以解决这个问题 。


以上关于本文的内容,仅作参考!温馨提示:如遇专业性较强的问题(如:疾病、健康、理财等),还请咨询专业人士给予相关指导!

「辽宁龙网」www.liaoninglong.com小编还为您精选了以下内容,希望对您有所帮助: