python怎么弄界面(python 如何做界面)

http://www.itjxue.com  2023-04-03 03:24  来源:未知  点击次数: 

python如何做界面

PyQt,一个基于Qt的Python接口包,可以直接使用Qt的控件,还可以使用QSS进行界面美化,下面我简单介绍一下这个包的安装和使用,实验环境Win7+Python3.6+PyCharm5.0,主要内容如下:

1.首先,安装PyQt,这个直接在cmd窗口输入命令“pip install pyqt5”就行,如下,由于安装包比较大,所以需要等待一会儿:

这里我新建了一个简单的窗口程序,一个登录页面对话框,2个QLabel,2个QLineEdit和2个QPushButton,如下,设计完成后,可以直接编辑对应控件的styleSheet属性,利用QSS(类似CSS)对控件进行美化,也可以在代码中进行详细美化设计(如果美化比较复杂的话,可以专门编写QSS文件,然后在程序中加载就行):

这里我新建了一个简单的窗口程序,一个登录页面对话框,2个QLabel,2个QLineEdit和2个QPushButton,如下,设计完成后,可以直接编辑对应控件的styleSheet属性,利用QSS(类似CSS)对控件进行美化,也可以在代码中进行详细美化设计(如果美化比较复杂的话,可以专门编写QSS文件,然后在程序中加载就行):

设计完成的UI界面,可以直接使用自带转化工具pyuic5转化为Python程序(命令pyuic5 -o py文件 ui文件,如pyuic5 -o test.py test.ui),如下,就是刚才设计的UI界面的Python代码:

这里我们再添加一下main函数,直接创建上面类的对象,显示对话框就行,如下:

点击运行这个程序,效果如下,和上面设计的一样,非常方便:

python做界面的一个新思路(初始篇)

python做界面我首先想到的是pyqt5,但是笔者之前基本是用wpf做界面,再用其他的做界面都有点不畅快的感觉。直接用到了HTML + CSS + js。随着前端技术的快速发展,如VUE,AUI这类框架的兴起,做个炫酷的页面,远比后端做个界面要快捷方便的多。

但是HTML + CSS + js是运行在浏览器里的,这个系列文章就是要打破python和前端的壁垒,让它们携手打造桌面程序。

那么这个心思路就是,利用pyqt5的QtWebEngineWidgets和QtWebChannel来做媒介,

python完成后台功能,HTML + CSS + js完成全部的界面功能。

界面需要python功能时,js方便的调用python函数并获取返回值。这样各自完成擅长部分,想想都有点小激动呢。

那这样是否靠谱呢?

根据笔者的目前尝试,感觉还是很靠谱的:

1 运行不卡顿,相对于纯的pyqt我感觉这种界面运行起来更流畅。

2 QtWebEngineWidgets移植V8引擎,基本和谷歌的效果是一样的。Vue这样的框架也可以直接引用。

讲QtWebEngineWidgets的文章有很多,我学习这个时候看到网上的很多文章也和受益,但是,基本都是讲的一样的,没有深挖。

首先,QtWebEngineWidgets和QtWebChannel是可以实现双向交互的,但是,在应用的过程中我发现,python调用js会比较简单,有现成的语法可用,而且传输过程中有的数据的类型都不用转换。而且能获取到js的返回值。

而js调用python就复杂一点,传递类型也只能字符串和int(目前我测试的结果是这样),目前网上大多的例子就是基于共享属性这个概念,js是可以调用python函数,但是没法获取到返回值。

但是应用中你就会发现,基本都是js调用python,比如界面中的按钮点击后需要执行数据分析,然后将结果渲染在界面上。那么过程就是js调用py并获取返回值。

今天的内容就是这些,喜欢的可以点赞支持,如果点赞较多,关于这个知识点我将继续做一期有趣的内容。谢谢!

python如何打开白色底板的交互式界面

1.

打开运行按win+R键打开运行窗口。

2.

打开cmd窗口在运行中输入cmd并点击确定。

3.

打开交互模式在命令行中输入python并回车即可打开交互模式。

Python创建简单登录界面

创建一个简单的登录窗口,假设用户名为TestName,密码为Python。

依据之前提到的创建方式,grid布局设计UI,设计登录用户名和密码检查函数。

from tkinterimport *

def LoginCheck():

????????name = txtName.get()

????????password = txtPassword.get()

????????name_len =len(name)

????????password_len =len(password)

????????if name =="TestName" and password =="Python":

????????????msgLabel['text'] ='登录成功'

? ? ????elif? name =="TestName" and password !="Python":

????????????msgLabel['text'] ='密码错误'

? ? ? ? ????txtPassword.delete(0,password_len)

????????else:

????????????????msgLabel['text'] ='用户名错误'

? ? ? ????????? txtName.delete(0,name_len)

? ? ? ? ? ? ? txtPassword.delete(0, password_len)

wnd = Tk()

lblName = Label(wnd, text='User Name:')

lblName.grid(row=0, column=0, sticky=W)

txtName = Entry(wnd)

txtName.grid(row=0, column=1, sticky=E)

lblPs = Label(wnd, text='密码:')

lblPs.grid(row=1, column=0, sticky=W)

txtPassword = Entry(wnd)

txtPassword["show"] ='*'

txtPassword.grid(row=1, column=1, sticky=E)

btn = Button(wnd, text='登录', command=LoginCheck)

btn.grid(row=2, column=1, sticky=E)

# Message

msgLabel = Label(wnd, text='')

msgLabel.grid(row=3)

wnd.mainloop()

运行效果如下:

可输入不同的用户名和密码检测逻辑上设计是否正确。

用户名错误:

密码错误:

登录成功:

(责任编辑:IT教学网)

更多

推荐新手入门文章