python机器学习3

1.窗口GUI函数库

Python也提供了用于开发图形用户界面(GUI)的各种功能,常见的函数库如下。

· Tkinter:这是Python附带的Tk GUI工具包中的Python函数库,本章会详细介绍。

· wxPython:这是一个用于wxWindows的图形用户界面,官方网址为http://wxpython.org。

· JPython:这是一个以Java为基础的Python函数库,使用Java的GUI类为基础的Python GUI程 序。

· PyQt:这是一个以Qt为基础的Python函数库,使用Qt的Python GUI程序。

Tkinter是Python的标准GUI图形化使用界面,支持跨平台功能,是当前Python开发者使用最多的函数库。它已经包含在Python的安装程序中,不用另外再通过pip安装。

使用Tkinter创建GUI应用程序,步骤如下:

(1)导入Tkinter模块。

(2)创建GUI应用程序的主窗口。

(3)将一个或多个控制件添加到主窗口中。

(4)程序做无限循环,等待用户触发每个组件的事件,并做相应的反应。

python 复制代码
try:
    import Tkinter as tk
except ImportError:
    import tkinter as tk
win=tk.Tk()
win.wm_title("hello,word!")
win.minsize(width=666,height=480)
win.maxsize(width=666,height=480)
win.resizable(width=False,height=False)
win.mainloop()

2.文字Label

如何在窗口中加入文字组件,然后显示在窗口上。需要特别注意两个函数pack和place,它们的作用都是把组件加到窗口中,其差异如下:

· pack(),依照使用的先后顺序放入窗口。

· place(),在窗口中X、Y指定的位置加入文字组件。

python 复制代码
try:
    import Tkinter as tk
except ImportError:
    import tkinter as tk

win=tk.Tk()
label1=tk.Label(win,text="hello,word")
label1.pack()
label2=tk.Label(win,text="hello no2",fg="red",bg="yellow")
label2.pack()
label3=tk.Label(win,text="hello,no3")
label3.pack(side="top",anchor="w")
label4=tk.Label(win,text="hello,no3")
label5=tk.Label(win,text="powen",bg="#ff0000")
label5.place(x=120,y=140)
win.mainloop()

3.显示图片Image

python 复制代码
try:
    import tkinter as tk
    from PIL import ImageTk, Image
    win = tk.Tk()
    img_path = r"C:/Users/nsy/Desktop/58.jpg"
    try:
        img = ImageTk.PhotoImage(Image.open(img_path))
    except IOError:
        print(f"Cannot open image file: {img_path}")
        win.destroy()  # 如果无法加载图像,关闭窗口
        raise
    label1 = tk.Label(win, image=img)
    label1.pack()
    win.mainloop()
except ImportError:
    print("Tkinter or PIL is not installed.")

4.按键Button

介绍如何新增按键,并且处理用户按下按键之后的反应动作。按键的方法如下:在程序中通过tk.Button添加一个按键,并指定该按键按下去后,会调用event1自定义的函数。

python 复制代码
try:
    import Tkinter as tk
except ImportError:
    import tkinter as tk
def event1():
    print("btn1 presses.")
btn1=tk.Button(win,text="press.me",command=event1)
btn1.pack()
win.mainloop()

5.消息窗口tkMessageBox

tkMessageBox,用来显示消息和询问用户的选择。

· showinfo:显示消息。

· showwarning:警告消息。

· showerror:显示错误。

· askquestion:询问问题。

· askokcancel:确认或取消。

· askyesno:是或否。

· askretrycancel:询问要重新运行或取消。

python 复制代码
try:
    import Tkinter as tk
    import tkMessageBox
except ImportError:
    import tkinter as tk
    import tkinter.messagebox as tkMessageBox
def hello():
    tkMessageBox.showinfo("say,hello")
win=tk.Tk()
B1=tk.Button(win,text="say hello")
B1.pack()
win.mainloop()

6.输入框Entry

如何新增输入框Entry,并且取得用户所输入的数据。

python 复制代码
try:
    import Tkinter as tk
except ImportError:
    import tkinter as tk

def event1():
    t1 = entry1.get()
    var_.set(t1)

root = tk.Tk()
entry1 = tk.Entry(root)
entry1.pack()

btn1 = tk.Button(root, text="press me", command=event1)
btn1.pack()

var_ = tk.StringVar()
label1 = tk.Label(root, text="hello", textvariable=var_)
label1.pack()

var_.set("New text")

root.mainloop()

7.绘图Canvas

介绍如何使用Canvas绘图的功能,并且依次展示画出圆饼图、显示图片等结果。在该Canvas绘图中比较特别的是bind函数,它可以获取鼠标相关的位置。运行的时候,在窗口上面通过鼠标的单击和拖动,可以体验到bind()的功能,可以绘制出图画。

相关推荐
锋行天下3 小时前
langgraph 后端发自定义数据,前端接收方法概括
人工智能·python
benchmark_cc4 小时前
用 QuantDash 读取单只股票五档盘口:抽样、缺失值检查与复现记录
python·数据分析·pandas·量化交易·股票数据·quantdash
曲径海盗5 小时前
【Python 学习第 55 天】列表基础
python·学习笔记·编程入门
专注仿真5 小时前
知识问答模型用到的算法集详解及代码实例
python·算法·代码·大模型训练·控制算法
jyOverQ5 小时前
我写了一个 CSDN Markdown 图片助手:告别本地图片逐张上传
python·工具·csdn
SomeOtherTime6 小时前
Rust所有权(AI回答)
开发语言·后端·rust
Easyhood6 小时前
Android 开发入门实践(十四):Compose 副作用入门与四个常用 API
android·开发语言·kotlin·android jetpack·compose
白杨尚青7 小时前
C++进阶篇(六):map 和 set 的模拟实现——用红黑树封装 mymap/myset(迭代器 + operator[])
开发语言·c++·迭代器·stl·set·map·红黑树
刘马想放假9 小时前
CANviz 使用指南|Linux 安装、DBC 解码、实时曲线与 J1939 实战
linux·python·websocket
2601_967987379 小时前
python判断变量名不要调用任何函数实现
python·函数·语法·判断·变量名