python学习笔记(三十一) -- virtualenv、图形界面

版权声明:weixin_40247263的博客 https://blog.csdn.net/weixin_40247263/article/details/82586367

目录

 

virtualenv

图形界面


virtualenv

virtualenv与Anacodna 类似,用来管理环境

关于virtualenv的安装以及使用看下面这两个文章足以,分别有linux和windows的安装步骤

https://www.jianshu.com/p/ab93973286cc

http://www.tendcode.com/article/virtualenv-for-python/


图形界面

如果想开发一个图形界面那必然涉及调用操作系统提供的图形界面接口。

Python支持多种图形界面的第三方库,包括:

  • Tk

  • wxWidgets

  • Qt

  • GTK

等等。

但是Python自带的库是支持Tk的Tkinter,使用Tkinter,无需安装任何包,就可以直接使用。本章简单介绍如何使用Tkinter进行GUI编程

例一

# encoding=utf-8
from tkinter import *


class Application(Frame):
    def __init__(self, master=None):
        # 创建一个窗口对象
        Frame.__init__(self, master)    # master代表主窗口标题
        self.pack()   # 调用pack函数,窗口才会显示
        self.createWidgets()

    def createWidgets(self):
        self.helloLabel = Label(self, text='Hello, world!')   # 在窗口中生成一行文字,内容为'Hello,world!'
        self.helloLabel.pack()   # 调用pack函数,将文字放入窗口中
        self.quitButton = Button(self, text='Quit', command=self.quit)   # 生成一个按钮,点击按钮触发quit函数,按钮显示的文本为Quit
        self.quitButton.pack()   # 调用pack函数,将按钮放入窗口中


# 创建窗口对象
app = Application()
# 设置窗口标题:
app.master.title('Hello World')
# 使窗口一直存在不会消失:
app.mainloop()

效果 

 例二:

# encoding=utf-8
from tkinter import *
import tkinter.messagebox as messagebox


class Application(Frame):

    def __init__(self, master=None):
        # 创建一个窗口对象
        Frame.__init__(self, master)  # master代表主窗口标题
        self.pack()  # 调用pack函数,窗口才会显示
        self.createWidgets()

    # 生成窗口内部的内容
    def createWidgets(self):
        self.nameInput = Entry(self)   # 生成输入框
        self.nameInput.pack()   # 把输入框放入窗口中
        self.alertButton = Button(self, text='Hello', command=self.hello)   # 生成一个按钮,触发hello函数
        self.alertButton.pack()  # 把按钮放入窗口中

    def hello(self):
        name = self.nameInput.get() or 'world'   # 从输入框中获取文本内容,如果内容为None则 使用 world
        messagebox.showinfo('Message', 'Hello, %s' % name)    # 弹出对话框,显示拼接的字符串


app = Application()
# 设置窗口标题:
app.master.title('Hello World')
# 主消息循环:
app.mainloop()

效果

猜你喜欢

转载自blog.csdn.net/weixin_40247263/article/details/82586367