第十一章-虚拟环境和图形界面

1 virtualenv

  在开发程序的过程中, 可能要同时开发多个应用程序, 可能需要的运行环境不同, 这个时候就需要virtualenv来形成一个"隔离"的环境

  安装virtualenv

pip3 install virtualenv

  创建一个python运行环境

virtualenv --no-site-packages 环境名字

  其中--no-site-packages表示Python环境中多有第三方的环境都不会被复制过去

  进入该环境

source 环境名字/bin/activate 

   进入环境之后, 就可以正常安装需要的环境了

  安装只会在这个环境里面an安装, 不会影响其他Python环境

  退出环境

deactivate 

2 图像界面

  在Python中, 有很多第三方库支持图形界面

  常见的有Tk, wxWidgetss, Qt, GTK

  在Tk中有Tkinter

  Tk是一个图形库, 支持多个操作系统, 使用Tcl语言进行开发的

  Tk会调用系统本地的GUI接口

  所有Widget容器的都需要继承自Frame

  初始化的时候需要使用pack()或者grid()来将WIdget加入到父容器中, pack是最简单的布局, grid可以实现更复杂的布局

  创建label标签只需要用 Label(self, text=文本信息) 然后使用pack将其绑定到self

  同理创建Button也是同样的操作

  创建一个基本的GUI例子如下

from tkinter import *

class Application(Frame):
    def __init__(self, master=None):
        Frame.__init__(self, master)
        self.pack()
        self.createWidgets()

    def createWidgets(self):
        self.helloLabel = Label(self, text='Hello, world!')
        self.helloLabel.pack()
        self.quitButton = Button(self, text='Quit', command=self.quit)
        self.quitButton.pack()

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

  再设计一个GUI

  在界面中输入信息, 点击按钮只有, 弹出信息

  具体的需要生成一个输入框, 使用Entry来实现

  获取该输入框的值 需要使用 对象.get()的方式得到, 如果需要设定默认值, 需要加上 or 获得默认值

  弹窗消息是需要导入 tkinter.messagebox

  使用messagebox.showinfo()来设定窗口信息

  具体代码如下

from tkinter import *
import tkinter.messagebox as messagebox

class Application(Frame):
    def __init__(self, master=None):
        Frame.__init__(self, master)
        self.pack()
        self.createWidgets()

    def createWidgets(self):
        self.nameInput = Entry(self)
        self.nameInput.pack()
        self.alertButton = Button(self, text='Hello', command=self.hello)
        self.alertButton.pack()

    def hello(self):
        name = self.nameInput.get() or 'world'
        messagebox.showinfo('Message', 'Hello, %s' % name)

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

  

转载于:https://www.cnblogs.com/weihuchao/p/6798275.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值