树莓派综合项目:智能小车图形界面控制

一、介绍

  阅读本篇文章前建议先参考前期文章:
  树莓派基础实验34:L298N模块驱动直流电机实验
  树莓派综合项目2:智能小车(一)四轮驱动

  树莓派综合项目2:智能小车(一)四轮驱动中,实现了代码输入对四个电机的简单控制,本章将使用Python 的图形开发界面的库——Tkinter 模块(Tk 接口),编写本地运行的图形界面,控制小车的前进后退、转向和原地转圈。

  Tkinter是Python的标准GUI库,Python使用Tkinter可以快速的创建 GUI 应用程序。由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单的图形界面 Tkinter 还是能应付自如。

  其它基础内容会在文集:树莓派基础实验当中讲解。

二、组件

★Raspberry Pi 3主板*1

★树莓派电源*1

★40P软排线*1

★L298N扩展板模块*1

★智能小车底板模块*1

★减速电机和车轮*4

★面包板*1

★跳线若干

三、实验原理

扩展板供电接法

(一)常见的图形开发界面的库

  Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下:

  Tkinter: Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数的 Unix 平台下使用,同样可以应用在 Windows 和 Macintosh 系统里。Tk8.0 的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。

  wxPython:wxPython 是一款开源软件,是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便的创建完整的、功能健全的 GUI 用户界面。

  PyQt:PyQt 是 Python 编程语言和 Qt 库的成功融合。Qt 本身是一个扩展的 C++ GUI 应用开发框架,Qt 可以在 UNIX、Windows 和 Mac OS X 上完美运行,因此 PyQt 是建立在 Qt 基础上的 Python 包装。所以 PyQt 也能跨平台使用。

(二)tk初始

  注意:Python3.x 版本使用的库名为 tkinter,即首写字母 T 为小写。

import tkinter

  创建一个GUI程序

1、导入 Tkinter 模块
2、创建控件
3、指定这个控件的 master, 即这个控件属于哪一个
4、告诉 GM(geometry manager) 有一个控件产生了。

实例(Python3.x):

 
  1. #!/usr/bin/python3
  2.  
  3. import tkinter
  4. top = tkinter.Tk()
  5. # 进入消息循环
  6. top.mainloop()

实例(Python2.x):

 
  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-
  3.  
  4. import Tkinter
  5. top = Tkinter.Tk()
  6. # 进入消息循环
  7. top.mainloop()

以上代码执行结果如下图:

(三)创建基本窗口

 
  1. #创建基本窗口
  2.  
  3. import tkinter as tk # 将tkinter导入到工程中
  4. window = tk.Tk() # 创建窗体对象
  5. window.title('musicplay') # 设置窗口标题
  6. window.geometry('380x390') # 设置窗口大小,注意这里的x是英文字母x
  7. #如果需要规定窗体打开的位置,可以在在380x390后面加上“+10+10”,
  8. # 即横坐标为10,纵坐标为10 的位置
  9. window.resizable(0,0) # 如果不想人为修改窗体的大小,可以加上这个
  10. #window.iconbitmap('./logo.ico') # 设置窗体图标
  11. #window.withdraw() # 隐藏窗口
  12. #window.deiconify() # 显示窗口
  13. window.mainloop() # 调用mainloop方法,使窗体一直执行下去

查看详情:https://www.icxbk.com/article/detail/1624.html

猜你喜欢

转载自blog.csdn.net/ICXBK/article/details/108010220
今日推荐