当前位置: 首页 > 编程日记 > 正文

python3 tkinter电子书_python3 tkinter实现添加图片和文本

本文在前面文章基础上介绍tkinter添加图片和文本,在这之前,我们需要安装一个图片库,叫Pillow,这个需要下载exe文件,根据下面图片下载和安装。

1c5e02b04392c2446d19d3a83f2b3643.jpg

下载完后直接双击安装exe,默认点击下一步,直到安装完成,会自动安装到Python3.6下的\lib\site-packages\PIL

# tkinter实现菜单功能

from tkinter import *

from PIL import Image, ImageTk

class Window(Frame):

def __init__(self, master= None):

Frame.__init__(self, master)

self.master = master

self.init_window()

def init_window(self):

self.master.title("第一个窗体")

self.pack(fill=BOTH, expand=1)

# 实例化一个Menu对象,这个在主窗体添加一个菜单

menu = Menu(self.master)

self.master.config(menu=menu)

# 创建File菜单,下面有Save和Exit两个子菜单

file = Menu(menu)

file.add_command(label='Save')

file.add_command(label='Exit', command=self.client_exit)

menu.add_cascade(label='File',menu=file)

# 创建Edit菜单,下面有一个Undo菜单

edit = Menu(menu)

edit.add_command(label='Undo')

edit.add_command(label='Show Image',command=self.showImg)

edit.add_command(label='Show Text',command=self.showTxt)

menu.add_cascade(label='Edit',menu=edit)

def client_exit(self):

exit()

def showImg(self):

load = Image.open('pic.jpg') # 我图片放桌面上

render= ImageTk.PhotoImage(load)

img = Label(self,image=render)

img.image = render

img.place(x=0,y=0)

def showTxt(self):

text = Label(self, text='GUI图形编程')

text.pack()

root = Tk()

root.geometry("400x300")

app = Window(root)

root.mainloop()

运行,点击Edit菜单下的Show Image,会显示一张图片,点击Show Text会出现一行文本。

4a20649289aa968fb0f9059ef84644d0.jpg

以上就是本文的全部内容,希望对大家的学习有所帮助

您可能感兴趣的文章:

相关文章:

序列化和反序列化实现

1. 什么是序列化? 程序员在编写应用程序的时候往往需要将程序的某些数据存储在内存中,然后将其写入文件或是将其传输到网络中的另一台计算机上以实现通讯。这个将程序数据转换成能被存储并传输的格式的过程被称为序列化(serialization&#x…

linux source命令

source filename 与 sh filename 及./filename执行脚本的区别在那里呢?1.当shell脚本具有可执行权限时,用sh filename与./filename执行脚本是没有区别得。./filename是因为当前目录没有在PATH中,所有"."是用来表示当前目录的。2.sh…

centos7 nginx配置php7,centos7安装并配置nginx+php,centos7nginx

centos7安装并配置nginxphp,centos7nginxcentos7安装并配置nginxphp安装nginxyum install nginx设置nginx开启起动systemctl start nginx测试访问http://你的域名或IP/查看nginx安装位置whereis nginxnginx: /usr/sbin/nginx /etc/nginx /usr/share/nginx /usr/shar…

host ntrip 千寻rtk_什么是千寻知寸cors账号?它提供的定位服务精度如何?使用时需要注意哪些问题?...

千寻知寸cors账号FindCM:基于RTK技术的厘米级差分数据播发服务,终端设备收到差分数据后,结合自己的卫星观测数据进行高精度定位解算,在观测环境良好的情况下,统计精度可以达到水平2~5厘米,高程2~8厘米。由于…

python创建图片对应的csv格式_Python:如何从csv文件创建图形节点和边?

你可以用另一个COLATIC和COLATIC来建立一个COLATIC/COLATIC。然后将图“投影”到datetime节点上—如果两个datetime都链接到ColA/ColC节点,则在它们之间创建一个链接。在下面的代码展示了一种创建无向图的方法。我不明白你的例子里的指示是什么意思。在import csvim…

卡尺测量的最小范围_工厂车间里常用的测量仪器使用方法介绍,你都会用吗?...

一、测量器具的分类 测量器具是一种具有固定形态、用以复现或提供一个或多个已知量值的器具。按用途的不同量具可分为以下几类:1. 单值量具只能体现一个单一量值的量具。可用来校对和调整其它测量器具或作为标准量与被测量直接进行比较,如量块、角度量块…

codeblocks使用指南

文章目录目录创建c/c项目调试codeblocks快捷键目录 创建c/c项目 左上角File->new->project,然后在弹出的对话框中找到Console application点击Go,然后不断Next,中间的除了项目名和项目地址其他默认即可。 然后在左侧工程目录中点开main文件即可Coding了。&…

php变量 标签,html标签如何使用php中的变量

html标签中使用php变量&#xff0c;提示&#xff1a;Undefined index: uid in /var/www//list.php&#xff0c;list.php的具体代码如下&#xff1a;require redis.php;for ($i0; $i < ($redis->get("userid")) ; $i){$data[] $redis->hgetall("user:&…

Shell基础命令之echo

echo命令的功能是在显示器上显示一段文字&#xff0c;一般起到一个提示的作用。该命令的一般格式为&#xff1a; echo [ -n ] 字符串其中选项n表示输出文字后不换行&#xff1b;字符串能加引号&#xff0c;也能不加引号。用echo命令输出加引号的字符串时&#xff0c;将字符串原…

mysql中leave和_MySQL数据库之Mysql存储过程使用LEAVE实现MSSQL存储过程中return语法

本文主要向大家介绍了MySQL数据库之Mysql存储过程使用LEAVE实现MSSQL存储过程中return语法 &#xff0c;通过具体的内容向大家展现&#xff0c;希望对大家学习MySQL数据库有所帮助。DELIMITER $$USE qrsoft_dyj_db$$DROP PROCEDURE IF EXISTS proc_withdraw_approve$$CREATE PR…

cron 工具 每分钟_计划任务 cron和crontab

很多时候&#xff0c;我们需要定时执行某个应用或者某段脚本&#xff0c;在linux上&#xff0c;可以使用cron服务&#xff0c;它有点类似于Windows上的任务计划程序。这篇文章将简单介绍cron的使用。1. crond和crontab首先需要分清楚两个概念&#xff1a;crond和crontab。crond…

Bootstrap学习记录-2.container和table

1. Container Bootstrap中容器类提供了2个类标识&#xff1a;container、container-fluid。 两者的区别在于&#xff1a;container&#xff1a;容器不止有15px的padding&#xff0c;还有一个随着浏览器宽度变化而变化的margin。container-fluid&#xff1a;只有固定的15px的pad…

java中super用来定义父类,Java中super的几种用法及与this的区别

综观目前的 Web 应用&#xff0c;多数应用都具备任务调度的功能。本文由浅入深介绍了几种任务调度的 Java 实现方法&#xff0c;包括 Timer&#xff0c;Scheduler, Quartz 以及 JCron Tab&#xff0c;并对其优缺点进行比较&#xff0c;目的在于给需要开发任务调度的程序员提供有…

1001 A+B

代码链接 PDF链接 首先要说的是这道题的难点是如何把数字输出加入逗号&#xff0c;毕竟数据范围并没有超过Long。当然这个难点也不是问题&#xff0c;将数字转为字符串,C中就有这样的函数&#xff0c;然后再用 %30 这样来控制输出 。 但我最近出于想要建立自己的代码库的想法&a…

pma mysql_Table ‘phpmyadmin.pma_table_uiprefs’ doesn’t exist mysql

Error: #1146 – Table ‘phpmyadmin.pma_table_uiprefs’ doesn’t exist mysqlJust upgrade my ubuntu 14 to 15. all looks good then i go to my localhost phpmyadmin and tried to open database then found a strange error like mysql said: #1146 – Table ‘phpmyadm…

Qt字符编码,创建中文文件

1.代码文件本身编码&#xff1b; 2.Qt中用于控制读入和写出文件系统时的字符编码由QTextCodec::setCodecForLocale()所决定。一般不用设置&#xff0c;Qt跟系统交互时会根据系统的Locale来更改传给系统的参数的编码&#xff1b; //utf8格式 QString str1("你好Hello\r\…

Python 查看本机WiFi密码

http://www.lijiejie.com/python-get-all-saved-wifi-passwords/ 很早以前我写过一个&#xff0c;丢了。 今天偶然看到这篇文章 &#xff0c; 也是很久以前写的&#xff0c;他用的方法太烦了。 dos命令不是可以取本机WiFi密码吗。 #coding:utf-8 import os import re impor…

五连阳回调买入法_“4连阳+1阴”这种股票,吃透主升浪!挣得万贯家财

根据以往的个股表现情况来看&#xff0c;那些即将进入主升浪的个股具有以下几个特点&#xff1a;1、个股前期已经有了一定的涨幅&#xff0c;但向上的步伐比较谨慎&#xff0c;走势比较温和;2、股价所处的位置并不低&#xff0c;有的是一段时期以来的最高位置&#xff0c;有的甚…

java有模糊查询吗,到底Java里的模糊查询语句该怎么写

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼现在String sql"select * from car where carName like %?%";可以查询出结果了&#xff0c;但问题又来了&#xff0c;只能查询出一条结果&#xff0c;代码如下carDao.java页面public ArrayList queryAppoint(String car…

stm32的rxne和idle中断_HAL库的STM32F767的DMA通过IDLE中断接收数据但不能访问

仿真能看到接收缓冲区数组中的数据&#xff0c;但不能访问&#xff0c;如果不访问&#xff0c;再开启DMA接收能正常接收&#xff0c;并且在仿真状态下也能查看。只要访问一次这个数组&#xff0c;下一次开启DMA接收后就不能接收数据了。原代码如下&#xff1a;if(rx_end 1){rx…

使用OpenRowSet操作Excel Excel导入数据库

使用 OpenRowSet 和 OpenDataSource 访问 Excel 97-2007 测试文件&#xff1a;D:\97-2003.xls和D:\2007.xlsx&#xff0c;两个文件的内容是一模一样的。 测试环境&#xff1a;SQL Server 2000 / 2005。 ---------------------------------------------------------------------…

在Windows上搭建Git Server

Git在版本控制方面&#xff0c;相比与SVN有更多的灵活性&#xff0c;对于开源的项目&#xff0c;我们可以托管到Github上面&#xff0c;非常方便&#xff0c;但是闭源的项目就会收取昂贵的费用。 那么私有项目&#xff0c;如何用Git进行代码版本控制呢&#xff1f;我们可以自己…

pci串口驱动安装失败_TSC TTP-243E Pluse装LTP并口驱动无法安装

一、前言描述接到客户报修说&#xff0c;电脑无法开机&#xff0c;即到哥上门维修立即安排人员到现场查看原因&#xff0c;到现场后&#xff0c;查看的确是电脑系统问题&#xff0c;重新安装系统&#xff0c;安装完成系统后&#xff0c;发现打印机无法使用。这个打印机型号是TS…

PHP中阶,PHP进阶

PHP功能的强大首先在于它的大量的内置函数库&#xff0c;它可以让初学者也能执行许多复杂的任务&#xff0c;而不必安装新的库和关心底层的详细情况&#xff0c;而这恰恰是其它流行的诸如Perl这样的客户端语言所不具备的。由于这个教程的限制&#xff0c;我们仅仅学习了一些与M…

安卓手机格式化怎么弄_安卓手机无法启动如何进行格式化

当我们在使用安卓智能手机的时候&#xff0c;由于使用错误或者出现的各种问题导致手机无法重启&#xff0c;相信你一定会感到很烦恼&#xff01;而如果手机混乱到无法启动&#xff0c;格式化是一个不错的尝试方法&#xff01;下面给大家介绍手机格式化的方法和注意事项&#xf…

位域 内存 字节序_JS操作内存?二进制数组了解一下

二进制数组的由来主要是为了提高浏览器与显卡之间的通信效率&#xff0c;由二进制数据代替传统的文本。二进制数组主要有三个对象&#xff1a;ArrayBufferTypedArrayDataViewArrayBuffer对象ArrayBuffer是一个构造函数&#xff0c;参数是一个数字&#xff0c;代表索取多少个字节…

求排列的逆序数(分治)

考虑1,2,…,n (n < 100000)的排列i1&#xff0c;i2&#xff0c;…&#xff0c;in&#xff0c;如果其中存在j,k&#xff0c;满足 j < k 且 ij > ik&#xff0c; 那么就称(ij,ik)是这个排列的一个逆序。 一个排列含有逆序的个数称为这个排列的逆序数。例如排列 263451 含…

mysql 查看当前事务id,MySQL 如何查询当前最新事务ID

写在前面&#xff1a;在个别时候可能需要查看当前最新的事务 ID&#xff0c;以便做一些业务逻辑上的判断(例如利用事务 ID 变化以及前后时差&#xff0c;统计每次事务的响应时长等用途)。通常地&#xff0c;我们有两种方法可以查看当前的事务 ID&#xff1a;1、执行 SHOW ENGIN…

password

pwdText wx.TextCtrl(panel, -1, ”password”, size(175, -1), stylewx.TE_PASSWORD)转载于:https://www.cnblogs.com/chengxuyuan326260/p/6364695.html

java 自带thread分析工具_java自带的jvm分析工具

这段时间觉得很有必要对java的内存分析工具进行熟悉&#xff0c;这样以后出现机器负载较高&#xff0c;或者反应很慢的时候&#xff0c;我就可以查找原因了。上网搜了搜&#xff0c;发现下面这些是比较常用的&#xff0c;然后我在机器上试试了&#xff0c;把结果也贴出来哈。1.…