精华内容
下载资源
问答
  • python GUI实例学习

    2020-09-21 01:30:44
    给大家介绍一下python GUI实例学习的心得以及实现的方式,希望能帮助到你。
  • python GUI 实例

    千次阅读 2015-10-21 11:13:20
    #!/usr/bin/env python3 # coding=utf-8 import tkinter as tk class Application(tk.Frame): def __init__(self,master=None): tk.Frame.__init__(self,master) self.pack() self.cr
    #!/usr/bin/env python3
    # coding=utf-8
    
    import tkinter as tk
    
    class Application(tk.Frame):
        def __init__(self,master=None):
            tk.Frame.__init__(self,master)
            self.pack()
            self.createWidgets()
        def createWidgets(self):
            self.hi_there = tk.Button(self)
            self.hi_there["text"] = "hello python\n(click me)"
            self.hi_there["command"] = self.say_hi
            self.hi_there.pack(side="top")
            self.QUIT = tk.Button(self,text="QUIT",fg="red",
                                  command=root.destroy)
            self.QUIT.pack(side="bottom")
        def say_hi(self):
            print("hey,look me here!")
    
    root = tk.Tk()
    app = Application(master=root)
    app.mainloop()


    #!/usr/bin/env python3
    # coding=utf-8
    
    import tkinter as tk
    
    class Application(tk.Frame):
        def __init__(self,master=None):
            tk.Frame.__init__(self,master)
            self.pack()
    
            self.entrythingy = tk.Entry()
            self.entrythingy.pack()
    
            self.contents = tk.StringVar()
            self.contents.set("设置属性")
    
            self.entrythingy["textvariable"] = self.contents
    
            self.entrythingy.bind("<Key-Return>",self.print_contents)
    
        def print_contents(self,event):
            print("当前输入框内容为",self.contents.get())
            
    root = tk.Tk()
    app = Application(master=root)
    app.mainloop()


    展开全文
  • 本文实例讲述了Python GUI编程。分享给大家供大家参考,具体如下:import osfrom time import sleepfrom tkinter import *from tkinter.messagebox import showinfoclass DirList(object):def __init__(self, ...

    本文实例讲述了Python GUI编程。分享给大家供大家参考,具体如下:

    import os

    from time import sleep

    from tkinter import *

    from tkinter.messagebox import showinfo

    class DirList(object):

    def __init__(self, initdir=None):

    self.top = Tk()

    self.label = Label(master=self.top, text='Directory Lister V1.0')

    self.label.pack()

    self.cwd = StringVar(master=self.top)

    self.dirl = Label(self.top, fg='blue', font=('Helvetica', 14, 'bold'))

    self.dirl.pack()

    self.dirfm = Frame(master=self.top)

    self.dirsb = Scrollbar(master=self.dirfm)

    self.dirsb.pack(side=RIGHT,fill=Y)    # fill=Y,垂直填充空间排列

    self.dirs = Listbox(master=self.dirfm, height=15, width=50, yscrollcommand=self.dirsb.set)

    self.dirs.bind('', func=self.setDirAndGo)   # ,双击显示路径列表

    self.dirsb.config(command=self.dirs.yview)

    self.dirs.pack(side=LEFT, fill=BOTH)

    self.dirfm.pack()

    self.dirn = Entry(master=self.top, width=50, textvariable=self.cwd)

    self.dirn.bind('', func=self.doLS)

    self.dirn.pack()

    self.bfm = Frame(master=self.top)

    self.cleer = Button(master=self.bfm, text='清除', command=self.clrDir, activeforeground='white',

    activebackground='blue')

    self.ls = Button(master=self.bfm, text='显示列表', command=self.doLS, activeforeground='white',

    activebackground='green')

    self.quit = Button(master=self.bfm, text='退出', command=self.top.quit, activeforeground='white',

    activebackground='red')

    self.cleer.pack(side=LEFT)

    self.ls.pack(side=LEFT)

    self.quit.pack(side=LEFT)

    self.bfm.pack()

    if initdir:

    self.cwd.set(os.curdir)

    self.doLS()

    def setDirAndGo(self, ev=None):

    self.last = self.cwd.get()

    self.dirs.config(selectbackground='red')

    chek = self.dirs.get(self.dirs.curselection())

    if not chek:

    chek = os.curdir

    self.cwd.set(chek)

    self.doLS()

    def doLS(self, ev=None):

    error = ''

    tdir = self.cwd.get()

    if not tdir:

    tdir = os.curdir

    if not os.path.exists(tdir):

    error = tdir + ':未找到文件,请检查路径!'

    elif not os.path.isdir(tdir):

    error = tdir + ':不是一个路径!'

    if error:

    # self.cwd.set(error)

    showinfo(title='提示',message=error)

    self.top.update()

    # sleep(2)

    if not (hasattr(self, 'last') and self.last):

    self.last = os.curdir

    self.cwd.set(self.last)

    self.dirs.config(selectbackground='LightSkyBlue')

    self.top.update()

    return

    if not os.path.isdir(tdir):

    self.cwd.set('')

    else:

    self.cwd.set('获取目录内容中...')

    self.top.update()

    dirlist = os.listdir(tdir)

    dirlist.sort()

    os.chdir(tdir)

    self.dirl.config(text=os.getcwd())

    self.dirs.delete(0, END)

    self.dirs.insert(END, os.curdir)

    self.dirs.insert(END, os.pardir)

    for eachfile in dirlist:

    self.dirs.insert(END, eachfile)

    self.cwd.set(os.curdir)

    self.dirs.config(selectbackground='LightSkyBlue')

    def clrDir(self, ev=None):

    self.cwd.set('')

    if __name__ == '__main__':

    dir = DirList(os.curdir)

    mainloop()

    效果如下:

    201944104108704.png?20193410422

    希望本文所述对大家Python程序设计有所帮助。

    展开全文
  • 简单的说,GUI编程就是给程序加上图形化界面.python的脚本开发简单,有时候只需几行代码就能实现丰富的功能,而且python本身是跨平台的,所以深受程序员的喜爱.如果给程序加一个图形化界面,那么普通的用户也就能用上...

    2019071910554134.png

    简单的说,GUI编程就是给程序加上图形化界面.

    python的脚本开发简单,有时候只需几行代码就能实现丰富的功能,而且python本身是跨平台的,所以深受程序员的喜爱.

    如果给程序加一个图形化界面,那么普通的用户也就能用上python的脚本,极大提升工作效率,所以给python程序加上图形化界面,把自己写的脚本,提供给普通用户,的确是一件激动人心的事!

    如何给python脚本加图形化界面?

    作者首先考虑了通过浏览器运行python的图形化界面,为了理想的效果,python需要借助javascript实现一些功能,而且python需要额外安装pyv8模块,我折腾了一下,发现pyv8模块安装很麻烦,而且依赖的库很多,编译安装也根据不同的操作系统,存在各种坑,pyv8不适合普通用户,于是就暂时搁置了pyv8模块.

    2019071910554235.png

    软件界面

    随后我又比较了pyqt5与tkinter两个模块: pyqt5功能很强,界面也漂亮,但语法比较复杂,pyqt5模块需要单独安装,不适合新手入门;

    tkinter是python3自带的模块,能满足基本的功能需求,语法也简单,基本上5分钟就能上手,所以最终选择了tkinter.

    网上当前的python GUI教程存在的问题:

    1.功能太简单,基本功能就是"花式"显示"Hello World";

    2.注释不明了,复制粘贴别人写的博客代码,代码残缺

    3.版本老旧,都是针对python2.7的程序,导入方式如 import Tkinter ,python3应为 import tkinter

    这次作者选择了一个 "根据ip地址定位地理位置"的脚本,作为本次教程的素材,比较好玩,也比较容易实现:

    解释的内容都放到了注释里,上代码:

    import tkinter

    import pygeoip

    class FindLocation(object):

    def __init__(self):

    self.gi = pygeoip.GeoIP("./GeoLiteCity.dat")

    # 创建主窗口,用于容纳其它组件

    self.root = tkinter.Tk()

    # 给主窗口设置标题内容

    self.root.title("全球定位ip位置(离线版)")

    # 创建一个输入框,并设置尺寸

    self.ip_input = tkinter.Entry(self.root,width=30)

    # 创建一个回显列表

    self.display_info = tkinter.Listbox(self.root, width=50)

    # 创建一个查询结果的按钮

    self.result_button = tkinter.Button(self.root, command = self.find_position, text = "查询")

    # 完成布局

    def gui_arrang(self):

    self.ip_input.pack()

    self.display_info.pack()

    self.result_button.pack()

    # 根据ip查找地理位置

    def find_position(self):

    # 获取输入信息

    self.ip_addr = self.ip_input.get()

    aim = self.gi.record_by_name(self.ip_addr)

    # 为了避免非法值,导致程序崩溃,有兴趣可以用正则写一下具体的规则,我为了便于新手理解,减少代码量,就直接粗放的过滤了

    try:

    # 获取目标城市

    city = aim["city"]

    # 获取目标国家

    country = aim["country_name"]

    # 获取目标地区

    region_code = aim["region_code"]

    # 获取目标经度

    longitude = aim["longitude"]

    # 获取目标纬度

    latitude = aim["latitude"]

    except:

    pass

    # 创建临时列表

    the_ip_info = ["所在纬度:"+str(latitude),"所在经度:"+str(longitude),"地域代号:"+str(region_code),"所在城市:"+str(city), "所在国家或地区:"+str(country), "需要查询的ip:"+str(self.ip_addr)]

    #清空回显列表可见部分,类似clear命令

    for item in range(10):

    self.display_info.insert(0,"")

    # 为回显列表赋值

    for item in the_ip_info:

    self.display_info.insert(0,item)

    # 这里的返回值,没啥用,就是为了好看

    return the_ip_info

    def main():

    # 初始化对象

    FL = FindLocation()

    # 进行布局

    FL.gui_arrang()

    # 主程序执行

    tkinter.mainloop()

    pass

    if __name__ == "__main__":

    main()

    运行效果(为了更好的演示效果,使用了gif图,图片尺寸较大,建议在wifi环境下观看,土豪随意~):

    2019071910554336.gif

    一张很有尺寸的演示图!

    由于离线查询ip需要全球IP的分布数据,所以我直接选择了一个免费离线查询ip的数据包,为了读取这个包的数据还需要安装一个模块: pip install pygeoip ,极少数人的当年安装python3的时候,选了不含tkinter的python3安装包,为了学习,还是要把这个模块补上: pip install tkinter

    如果想将示例程序转为windows下的可执行文件(.exe),参考这篇

    教程涉及到的资源我都通过百度网盘分享给大家,为了便于大家的下载,资源整合到了一张独立的帖子里,链接如下:

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    展开全文
  • pyqt5 python Gui入门教程_图文更新时间:2017-2-13 11:08:00 浏览量:544 手机版pyqt5&python Gui入门教程(1) 第一个窗口(1)第一个窗口和代码详细注释:from PyQt5 import QtWidgets#从PyQt库导入QtWidget通用...

    pyqt5 python Gui入门教程_图文

    更新时间:2017-2-13 11:08:00 浏览量:544 手机版

    pyqt5&python Gui入门教程(1) 第一个窗口(1)

    第一个窗口和代码详细注释:

    from PyQt5 import QtWidgets

    #从PyQt库导入QtWidget通用窗口类

    class mywindow(QtWidgets.QWidget):

    #自己建一个mywindows类,以class开头,mywindows是自己的类名, #(QtWidgets.QWidget)是继承QtWidgets.QWidget类方法,

    # 定义类或函数不要忘记':'符号,判断语句也必须以':'结尾!def __init__(self):

    #def是定义函数(类方法)了,同样第二个__init__是函数名

    # (self)是pyqt类方法必须要有的,代表自己,相当于java,c++中的this #其实__init__是析构函数,也就是类被创建后就会预先加载的项目super(mywindow,self).__init__()

    #这里我们要重载一下mywindows同时也包含了QtWidgets.QWidget的预加载项

    import sys

    app = QtWidgets.QApplication(sys.argv)

    #pyqt窗口必须在QApplication方法中使用,

    #要不然会报错 QWidget: Must construct a QApplication before a QWidget windows = mywindow()

    # 生成过一个实例(对象), windows是实例(对象)的名字,可以随便起! # mywindows()是我们上面自定义的类

    windows.show()

    #有了实例,就得让他显示这里的show()是QWidget的方法,用来显示窗口的! sys.exit(app.exec_())

    #启动事件循环

    pyqt5&python Gui入门教程(2) 第一个窗口(2)

    上图是第一篇教程,下面的显示效果都一样,我们来看看有什么不同

    1、类的名字、实例的名字都换了,

    2、多了一个if __name__ == "__main__": 以及下面的代码缩进了,层次改变了

    1、我们把结尾的5句代码,单独建立了一个函数

    2、然后直接调用函数

    3、注意两个def的缩进,第一个def缩进了代表是在class里面,第二个和class平齐,则是在外面。

    可以看到显示效果是一样,我们却有很多办法去实现。

    知识点:

    1、if __name__ == "__main__": 是代表如果这个文件是主程序这运行下面的代码,如果是被别的程序文件调用的话,则运行下面的代码。

    2、__init__ 方法在类的一个对象被建立时,马上运行。这个方法可以用来对你的对象做一些你希望的 初始化 。注意,这个名称的开始和结尾都是双下划线。

    3、生成实例(对象)必须以类名(),别忘记了()

    4、类中的函数(方法)必须有self,是代表属于这个实例(对象)本身持有的,而外部定义的函数则不需要。

    整个流程;

    先导入PyQt5中的QtWidgets通用窗口库,通过继承QtWidgets.QWidget来定义自己的窗口。然后生成一个对象(实例化),再调用QWidget的show()方法来显示这个窗口。

    pyqt5&python Gui入门教程(3) 第一个窗口(3)

    展开全文
  • pyqt5&python Gui入门教程(1)第一个窗口(1)第一个窗口和代码详细注释:from PyQt5 import QtWidgets#从PyQt库导入QtWidget通用窗口类class mywindow(QtWidgets.QWidget):#自己建一个mywindows类,以class开头,...
  • 一、项目说明:本次通过实现一个小的功能模块对Python GUI进行实践学习。项目来源于软件制造工程的作业。记录在这里以复习下思路和总结编码过程。所有的源代码和文件放在这里:链接: ...
  • python GUI 入门实例

    2020-03-30 00:58:03
    python GUI入门实例: https://www.jianshu.com/p/8abcf73adba3/ 如果想将示例程序转为windows下的可执行文件(.exe),参考这篇 https://www.jb51.net/article/165766.htm 教程涉及到的资源我都通过百度网盘分享给大家...
  • 导言篇:我的python环境是:python3.6.5这里我选择的GUI编程包是:tkintertkinker在python2.5以后就是自带包了,所以我们不需要另外安装tkinker相对与其他python GUI编程的包而已,是相对容易入手的代码篇:#这是...
  • python gui界面实例_python爬取电影数据(含GUI界面版)
  • 原博文2017-10-07 09:42 −一、项目说明: 本次通过实现一个小的功能模块对Python GUI进行实践学习。项目来源于软件制造工程的作业。记录在这里以复习下思路和总结编码过程。所有的源代码和文件放在这里: 链接: ...
  • 开发语言:Python | 大小:2.25KB | 发布时间:2020-11-14 | 发布人:张育玮相关标签:立即下载开发语言:Python | 大小:61.96M | 发布时间:2020-11-07 | 发布人:张育玮相关标签:立即下载开发语言:Python | ...
  • 主要介绍了这可能是最好玩的python GUI入门实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • PythonGUI编程中,如何使button上的数字改变?python tk怎样调整一个button控件和Entry控件在界新建一个Windows窗体项目,项目名为“透明控件”。给窗体设置一个背景图片,可以“百度一下”选择一张图片。具体如下...
  • PyQt5状态栏控件...更多关于PyQt5控件知识请查看下面的相关链接 本文标题: python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例 本文地址: http://www.cppcns.com/jiaoben/python/301790.html
  • 用tkinter写的python GUI注册界面实例,包括注册和登录。使用pickle库来序列化用户名和密码
  • Python GUI编程 文本弹窗的实例如下所示:out = subprocess.getstatusoutput('adb shell pm list packages')top = tk.Toplevel()top.title('包名列表')top.geometry('%dx%d' % (400, 1200)) # 设置窗口大小t = Text...
  • 今天小编就为大家分享一篇Python GUI编程 文本弹窗的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 这这可可能能是是最最好好玩玩的的python GUI入入门门实实例例(推推荐荐) 这篇文章主要介绍了这可能是最好玩的python GUI入门实例文中通过示例代码介绍的非常详细对大家的学习 或者工作具 一定的参考学习价值需要的...
  • 这篇文章主要介绍了这可能是最好玩的python GUI入门实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。 简单的说,GUI编程就是给程序...
  • PyQt5是基于Digia公司强大的图形程式框架Qt5的python接口,由一组python模块构成。PyQt5本身拥有超过620个类和6000函数及方法。在可以运行于多个平台,包括:Unix, Windows, and Mac OS。代码如下from PyQt5.Qt...
  • 简单的说,GUI编程就是给程序加上图形化界面.python的脚本开发简单,有时候只需几行代码就能实现丰富的功能,而且python本身是跨平台的,所以深受程序员的喜爱.如果给程序加一个图形化界面,那么普通的用户也就能用上...
  • 主要介绍了python GUI库图形界面开发之PyQt5使用拖放控件实例详解,需要的朋友可以参考下
  • image.png简单的说,GUI编程就是给程序加上图形化界面.python的脚本开发简单,有时候只需几行代码就能实现丰富的功能,而且python本身是跨平台的,所以深受程序员的喜爱.如果给程序加一个图形化界面,那么普通的用户也就...
  • 主要介绍了python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例,需要的朋友可以参考下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,880
精华内容 7,152
关键字:

pythongui实例

python 订阅