《零基础学Python》Python的GUI开发【十一】

整体文章目录

整体目录

一、 当前章节目录

在这里插入图片描述

二、Python的GUI开发选择

  • Tkinter:简单实用,适用于小型图形界面应用程序的快速开发。
  • wxPython:比较流行的GUI跨平台开发技术,适合快速开发大型应用程序。
  • PyQT:一种开源的GUI库,组件丰富,能做出特别漂亮的界面,适合于大型应用程序开发。

2.1 认识Python内置的GUI库Tkinter

import tkinter

from tkinter import *

2.2 使用Tkinter进行开发

from tkinter import *

root = Tk()
word = Label(root, text="Hello, world!")

word.pack()

root.mainloop()

运行结果:

在这里插入图片描述

from tkinter import *

class App:                          # 自定义了一个App类
    def __init__(self, master):     # 定义__init__方法
        frame = Frame(master)       # 创建frame对象
        frame.pack()                # 调用pack方法

        self.ok = Button(frame, text="OK",
                            command=self.ok)
        self.ok.pack(side=LEFT)

    def ok(self):                # 定义hello方法
        print("ok!")

root = Tk()
root.wm_title("OK")              # 设置标题
root.wm_minsize(200, 200)           # 设置窗口大小

app = App(root)

root.mainloop()

运行结果:

在这里插入图片描述
在这里插入图片描述

2.3 认识PyQT GUI库

在这里插入图片描述

2.4 使用PyQT GUI库进行开发

import sys                                  # 导入sys模块
from PyQt5.QtWidgets import *               # 导入QtWidgets模块
from PyQt5.QtGui import QIcon               # 导入Qicon模块
from PyQt5.QtCore import QCoreApplication   # 导入QcoreApplication模块
# 新建子窗体
class PushWindow(QWidget):                  # 创建PushWindow类
    def __init__(self):                     # 创建__init__方法
        super(PushWindow, self).__init__()  # 调用父类的__init__方法
        self.resize(400, 200)               # 设置大小
class MainWindow(QMainWindow):              # 创建MainWindow类
    def __init__(self):                     # 创建__init__方法
        super().__init__()                  # 调用父类的构造方法
        self.resize(600, 400)               # 设置主窗体大小
        self.setWindowTitle('主窗体')        # 设置窗体标题
        self.initUI()                       # 调用initUI方法
        self.show()                         # 调用show方法
    def initUI(self):                       # 创建initUI方法
        nbtn = QPushButton('弹出新窗体', self)# 定义“弹出新窗体”按钮
        nbtn.clicked.connect(self.onclick)  # 按钮单击事件
        nbtn.resize(nbtn.sizeHint())        # 设置按钮大小
        qbtn = QPushButton('退出', self)     # 定义“退出”按钮
        qbtn.setGeometry(102, 0, 115, 70)   # 设置按钮的位置
        qbtn.clicked.connect(QCoreApplication.instance().quit)      # 按钮单击事件
        qbtn.resize(qbtn.sizeHint())        # 设置按钮大小
    def onclick(self):                      # 定义onclick方法
        self.newWindow = PushWindow()       # 创建newWindow对象
        self.newWindow.show()               # 调用show方法
if __name__ == '__main__':
    app = QApplication(sys.argv)            # 创建了一个QApplication对象app
    mw = MainWindow()                       # 创建mw对象
    sys.exit(app.exec_())                   # 进入程序的主循环,遇到退出情况,终止程序

运行结果:

这里是引用

三、习题

习题:

  1. 说出目前Python 3.x常用的GUI库。
  2. 使用Python内置的Tkinter开发一个简单的UI,设计一个只有一个OK按钮的界面。

答案:

(1) Tkinter:简单实用,适用于小型图形界面应用程序的快速开发
(2) wxPython:比较流行的GUI跨平台开发技术,适合快速开发大型应用程序
(3) PyQT:一种开源的GUI库,组件丰富,能做出特别漂亮的界面,适合于大型应用程序开发。
2. 代码如下。

from tkinter import *

class App:                          # 自定义了一个App类
    def __init__(self, master):     # 定义__init__方法
        frame = Frame(master)       # 创建frame对象
        frame.pack()                # 调用pack方法

        self.ok = Button(frame, text="OK",
                            command=self.ok)
        self.ok.pack(side=LEFT)

    def ok(self):                # 定义hello方法
        print("ok!")

root = Tk()
root.wm_title("OK")              # 设置标题
root.wm_minsize(200, 200)           # 设置窗口大小

app = App(root)

root.mainloop()

运行结果:

这里是引用
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值