首页 > 编程知识 正文

用python做的gui编程,python GUI编程

时间:2023-12-27 22:27:57 阅读:327042 作者:FDPG

本文目录一览:

八款常用的 Python GUI 开发框架推荐

作为Python开发者,你迟早都会用到图形用户界面来开发应用。本文将推荐一些 Python GUI 框架,希望对大家有所帮助。

Python 的 UI 开发工具包 Kivy

Kivy是一个开源工具包能够让使用相同源代码创建的程序能跨平台运行。它主要关注创新型用户界面开发,如:多点触摸应用程序。Kivy还提供一个多点触摸鼠标模拟器。当前支持的平台包括:Linux、Windows、Mac OS X和Android。

Kivy拥有能够处理动画、缓存、手势、绘图等功能。它还内置许多用户界面控件如:按纽、摄影机、表格、Slider和树形控件等。

Python 的 GUI 开发工具 Flexx

Flexx 是一个纯 Python 工具包,用来创建图形化界面应用程序。其使用 Web 技术进行界面的渲染。你可以用 Flexx 来创建桌面应用,同时也可以导出一个应用到独立的 HTML 文档。因为使用纯 Python 开发,所以 Flexx 是跨平台的。只需要有 Python 和浏览器就可以运行。如果是使用桌面模式运行,推荐使用 Firefox 。

Qt 库的 Python 绑定 PyQt

PyQt是Qt库的Python版本。PyQt3支持Qt1到Qt3。 PyQt4支持Qt4。它的首次发布也是在1998年,但是当时它叫 PyKDE,因为开始的时候SIP和PyQt没有分开。PyQt是用SIP写的。PyQt 提供 GPL版和商业版。

Python图形开发包 wxPython

wxPython 是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便的创建完整的、功能键全的 GUI 用户界面。 wxPython 是作为优秀的跨平台 GUI 库 wxWidgets 的 Python 封装和 Python 模块的方式提供给用户的。

就如同Python和wxWidgets一样,wxPython也是一款开源软件,并且具有非常优秀的跨平台能力,能够运行在32位windows、绝大多数的Unix或类Unix系统、Macintosh OS X上。

Tk 图形用户界面 Tkinter

Tkinter(也叫Tk接口)是Tk图形用户界面工具包标准的Python接口。Tk是一个轻量级的跨平台图形用户界面(GUI)开发工具。Tk和Tkinter可以运行在大多数的Unix平台、Windows、和Macintosh系统。

Tkinter 由一定数量的模块组成。Tkinter位于一个名为_tkinter(较早的版本名为tkinter)的二进制模块中 。Tkinter包含了对Tk的低 级接口模块,低级接口并不会被应用级程序员直接使用,通常是一个共享库(或DLL),但是在一些情况下它也被Python解释器静态链接。

Pywin32

Windows Pywin32允许你像VC一样的形式来使用PYTHON开发win32应用。代码风格可以类似win32 sdk,也可以类似MFC,由你选择。如果你仍不放弃vc一样的代码过程在python下,那么这就是一个不错的选择。

Python 图形界面开发包 PyGTK

PyGTK让你用Python轻松创建具有图形用户界面的程序.底层的GTK+提供了各式的可视元素和功能,如果需要,你能开发在GNOME桌面系统运行的功能完整的软件.

PyGTK真正具有跨平台性,它能不加修改地,稳定运行各种操作系统之上,如Linux,Windows,MacOS等.除了简单易用和快速的原型开发能力外,PyGTK还有一流的处理本地化语言的独特功能.

用python快速开发绚丽桌面程序 pyui4win

pyui4win是一个开源的采用自绘技术的界面库。支持C++和python。用它可以很容易实现QQ和360安全卫士这样的绚丽界面。而且,pyui4win有所见即所得界面设计器,让C++开发人员和python开发人员直接用设计工具设计界面,而不用关心界面如何生成和运行,可以显著缩短界面开发时间。在pyui4win中,界面甚至可以完全交给美工去处理,开发人员可以只负责处理业务逻辑,把开发人员彻底从繁杂的界面处理中解放出来。

以上就是为大家分享的八款常用的python GUI开发框架推荐,希望能对你有帮助。更多python学习资料,可以关注“武汉千锋”微信公众号。

如何学习 Python GUI 编程

在网页中下载python3解释器,我下载时候,版本是选择的是3.3,因为python3和python2语法上有些区别,所以大家就跟我一样都用python3吧,或许有朋友对于“语法”这个词不明白,没关系,后面小编会给大家讲到的。下好后,文件名为python-3.3.3.msi,当然因为我们下载时间不同,可能文件有所不同,比如你下的可能是python-3.4.0.msi,因为这个软件也是在不断升级中的

双击下载下来的安装文件,一路都选“next”,到第三步“Customize Python ”,在列表中的“Add python.exe to Path”前的红叉上点击鼠标左键,然后选择第一项“will be installed on local hard drive”,然后再点next,再稍等几分钟,python的解释器就安装好了。

然后我们在“开始”--“所有程序”中找到python

选择IDLE(Python GUI),这是一个提供图形化界面的python编程软件,如果不用这个,我们就只有用那个黑色的框框了。打开IDLE,界面如下:

看到光标在“”后面闪烁了吧,我们在“”后面输入命令,按下回车后,python解释器就会解释并执行这条命令了。好了,我们还是以最经典的入门程序来作为我们用python写的第一个程序吧。我们用键盘敲入“print("hello world")”,在屏幕上显示“hello word”,注意print后的括号是英文括号,而且编程语言中的符号都是英文符号,大家特别注意。敲下回车后,看到下面是不是显示了“hello world”,注意此时 hello world前没有“”,这个表明“hello world”是输出结果。

接下来我们输出一句中文,我们键入命令“print("你好,朋友")”,按下回车后,我们也会看到下面显示了“你好,朋友”,注意我在描述时都为命令加了双引号用于区别,大家在敲入命令时是不需要最外面的双引号的,但是print中是需要双引号的。

如何用 Python 写一个带 GUI 的科学计算程序

使用Tkinter图形库,如果你是用的linux系统 记得将第一行改为from tkinter import *

这个代码实现的挺简单,并不是很复杂的科学计算器界面,你可以以此为基础,添加自己想要的东西:给你个截图:

代码是如下, 我就不给你添注释了啊:

#!/usr/bin/env python3.4

from Tkinter import *

import parser

root = Tk()

root.title('Calculator')

i = 0

def factorial():

"""Calculates the factorial of the number entered."""

whole_string = display.get()

number = int(whole_string)

fact = 1

counter = number

try:

while counter 0:

fact = fact*counter

counter -= 1

clear_all()

display.insert(0, fact)

except Exception:

clear_all()

display.insert(0, "Error")

def clear_all():

"""clears all the content in the Entry widget"""

display.delete(0, END)

def get_variables(num):

"""Gets the user input for operands and puts it inside the entry widget"""

global i

display.insert(i, num)

i += 1

def get_operation(operator):

"""Gets the operand the user wants to apply on the functions"""

global i

length = len(operator)

display.insert(i, operator)

i += length

def undo():

"""removes the last entered operator/variable from entry widget"""

whole_string = display.get()

if len(whole_string): ## repeats until

## now just decrement the string by one index

new_string = whole_string[:-1]

print(new_string)

clear_all()

display.insert(0, new_string)

else:

clear_all()

display.insert(0, "Error, press AC")

def calculate():

"""

Evaluates the expression

ref :

"""

whole_string = display.get()

try:

formulae = parser.expr(whole_string).compile()

result = eval(formulae)

clear_all()

display.insert(0, result)

except Exception:

clear_all()

display.insert(0, "Error!")

root.columnconfigure(0,pad=3)

root.columnconfigure(1,pad=3)

root.columnconfigure(2,pad=3)

root.columnconfigure(3,pad=3)

root.columnconfigure(4,pad=3)

root.rowconfigure(0,pad=3)

root.rowconfigure(1,pad=3)

root.rowconfigure(2,pad=3)

root.rowconfigure(3,pad=3)

display = Entry(root, font = ("Calibri", 13))

display.grid(row = 1, columnspan = 6 , sticky = W+E)

one = Button(root, text = "1", command = lambda : get_variables(1), font=("Calibri", 12))

one.grid(row = 2, column = 0)

two = Button(root, text = "2", command = lambda : get_variables(2), font=("Calibri", 12))

two.grid(row = 2, column = 1)

three = Button(root, text = "3", command = lambda : get_variables(3), font=("Calibri", 12))

three.grid(row = 2, column = 2)

four = Button(root, text = "4", command = lambda : get_variables(4), font=("Calibri", 12))

four.grid(row = 3 , column = 0)

five = Button(root, text = "5", command = lambda : get_variables(5), font=("Calibri", 12))

five.grid(row = 3, column = 1)

six = Button(root, text = "6", command = lambda : get_variables(6), font=("Calibri", 12))

six.grid(row = 3, column = 2)

seven = Button(root, text = "7", command = lambda : get_variables(7), font=("Calibri", 12))

seven.grid(row = 4, column = 0)

eight = Button(root, text = "8", command = lambda : get_variables(8), font=("Calibri", 12))

eight.grid(row = 4, column = 1)

nine = Button(root , text = "9", command = lambda : get_variables(9), font=("Calibri", 12))

nine.grid(row = 4, column = 2)

cls = Button(root, text = "AC", command = clear_all, font=("Calibri", 12), foreground = "red")

cls.grid(row = 5, column = 0)

zero = Button(root, text = "0", command = lambda : get_variables(0), font=("Calibri", 12))

zero.grid(row = 5, column = 1)

result = Button(root, text = "=", command = calculate, font=("Calibri", 12), foreground = "red")

result.grid(row = 5, column = 2)

plus = Button(root, text = "+", command = lambda : get_operation("+"), font=("Calibri", 12))

plus.grid(row = 2, column = 3)

minus = Button(root, text = "-", command = lambda : get_operation("-"), font=("Calibri", 12))

minus.grid(row = 3, column = 3)

multiply = Button(root,text = "*", command = lambda : get_operation("*"), font=("Calibri", 12))

multiply.grid(row = 4, column = 3)

divide = Button(root, text = "/", command = lambda : get_operation("/"), font=("Calibri", 12))

divide.grid(row = 5, column = 3)

# adding new operations

pi = Button(root, text = "pi", command = lambda: get_operation("*3.14"), font =("Calibri", 12))

pi.grid(row = 2, column = 4)

modulo = Button(root, text = "%", command = lambda : get_operation("%"), font=("Calibri", 12))

modulo.grid(row = 3, column = 4)

left_bracket = Button(root, text = "(", command = lambda: get_operation("("), font =("Calibri", 12))

left_bracket.grid(row = 4, column = 4)

exp = Button(root, text = "exp", command = lambda: get_operation("**"), font = ("Calibri", 10))

exp.grid(row = 5, column = 4)

## To be added :

# sin, cos, log, ln

undo_button = Button(root, text = "-", command = undo, font =("Calibri", 12), foreground = "red")

undo_button.grid(row = 2, column = 5)

fact = Button(root, text = "x!", command = factorial, font=("Calibri", 12))

fact.grid(row = 3, column = 5)

right_bracket = Button(root, text = ")", command = lambda: get_operation(")"), font =("Calibri", 12))

right_bracket.grid(row = 4, column = 5)

square = Button(root, text = "^2", command = lambda: get_operation("**2"), font = ("Calibri", 10))

square.grid(row = 5, column = 5)

root.mainloop()

如何使用python写gui编辑器

自带编辑器python IDE(GUI):

python IDE(GUI)是交互环境下进行的,有相应的提示符“”。程序员写一句,按下enter后,就会回应一句,出现“”.

若要按照正常的敲代码换行,就按ctrl+n 自动创建一个编辑文件,编辑好后,再F5执行就可以了;或者在python IDE(GUI)的窗口中的File-New Window创建。

有哪些用python做的gui

wxpython 是供 python 使用的 GUI 工具。另外还可以用 Tkinter, PyQT,pyGtk等很多。

至于用 python 开发的图形界面软件就很多很多了(不然这些GUI 工具就没意义了吧),例如第一个BT 下载软件 Bittorrent。

Python GUI库大汇总

所有程序都是基于命令行的,这些程序可能只有一些“专业”的计算机人士才会使用。例如前面编写的五子棋等程序,恐怕只有程序员自己才愿意玩这么“糟糕”的游戏,很少有最终用户愿意对着黑乎乎的命令行界面敲命令。

相反,如果为程序提供直观的图形用户界面(Graphics User Interface, GUI),最终用户通过拖动鼠标、单击等动作就可以操作整个应用,这样的应用程序就会很受政迎(实际上,Windows 之所以广为人知,其最初的吸引力就是来自它所提供的图形用户界面)。

作为一个程序设计者,必须优先考虑用户的感受,一定要让用户感到“爽”,程序才会被需要、被使用,这样的程序才有价值。

在真正开始介绍 Python 图形界面编程之前,首先简单介绍一下 Python 的图形用户界面库。

1) PyGObject

PyGObject 库为基于 GObject 的 C 函数库提供了内省绑定,这些库可以支持 GTK+3 图形界面工具集,因此时 GObject 提供了丰富的图形界面组件。

2) PyGTK

PyGTK 基于老版本的 GTK+2 的库提供绑定,借助于底层 GTK+2 所提供的各种可视化元素和组件,同样可以开发出在 GNOME 桌面系统上运行的软件,因此它主要适用于 Linux/UNIX 系统。PyGTK 对 GTK+2 的 C 语言进行了简单封装,提供了面向对象的编程接口。其官方网址是。

3) PyQt

PyQt 是 Python 编程语言和 Qt 库的成功融合。Qt 本身是一个扩展的 C++ GUI 应用开发框架,Qt 可以在 UNIX、Windows 和 Mac OS X 上完美运行,因此 PyQt 是建立在 Qt 基础上的 Python 包装。所以 PyQt 也能跨平台使用。

4) PySide

PySide 是由 Nokia 提供的对 Qt 工具集的新的包装库,目前成熟度不如 PyQt。

5) wxPython

wxPython 是一个跨平台的 GUI 工具集,wxPython 以流行的 wxWidgets(原名 wxWindows)为基础,提供了良好的跨平台外观。简单来说,wxPython 在 Windows上调用 Windows 的本地组件、在 Mac OS 上调用 Mac OS X 的本地组件、在 Linux 上调用 Linux 的本地组件,这样可以让 GUI 程序在不同的平台上显示平台对应的风格。wxPython 是一个非常流行的跨平台的 GUI 库。

如果读者有需要,则完全可以选择上面这些 Python GUI 库来开发图形用户界面。如果考虑开发跨平台的图形用户界面,则推荐使用 PyQt 或 wsPython。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。