计算机系统应用教程网站

网站首页 > 技术文章 正文

python-tkinter之窗体大小、位置、背景色与背景图的应用

btikc 2024-09-04 03:20:09 技术文章 9 ℃ 0 评论

前文介绍了窗体对象的创建、显示、退出,本文介绍窗体大小、位置、背景色与背景图的应用。

设置窗体大小,先要了解屏幕大小,最好不要溢出屏幕边界,获取屏幕大小的方法:

from tkinter import * #导入tkinter模块

frm=Tk() #创建窗体对象

w=frm.winfo_screenwidth() #获取屏幕宽度

h=frm.winfo_screenheight() #获取屏幕高度

print(w,h) #输出屏幕宽高

w1=w-30 #设置窗体宽小于屏幕宽度30像素

h1=h-80 #设置窗体高度小于屏幕高度80像素

frm.title(‘窗体大小位置与背景示例’) #设置窗体标题

frm.geometry(‘{}x{}+10+10’.format(w1,h1))

frm.resizable(0,0) #设置窗体不能用鼠标拖拽调整大小

img=PhotoImage(file='6.png') #创建图片框架对象,装入图片

#支持png、gif不支持jpg、bmp格式

imgW=img.width() #获取图片宽度
imgH=img.height() #获取图片高度

if imgW>w or imgH>h: #如果图片宽大于屏幕宽或这图片高大于屏幕高

c=1-(imgW-w)/imgW #计算图片宽度显示比率

d=1-(imgH-h)/imgH #计算图片高度显示比率

if c>d: #如果宽度比率大于高度比率,以高度比率计算图片显示宽和高

imgW=int(imgW*d)

imgH=int(imgH*d)-50 #避免底部状态栏遮盖住窗体底部

else: #如果宽度比率小于高度比率,以宽度比率计算图片显示宽和高

imgW=int(imgW*c)

imgH=int(imgH*c)

x=imgW/2 #设置图片显示中心点x坐标

y=imgH/2 #设置图片显示中心点y坐标

frm.geometry('{}x{}+10+10'.format(imgW,imgH)) #重设窗体大小为图片大小

cv=Canvas(frm,width=imgW,height=imgH,bg='#FF0000')

#在frm中绘制背景为红色宽高为图片大小的图像对象

ci=cv.create_image(x,y,anchor=CENTER,image=img) #以xy为坐标中心点绘制图片

cv.pack() #安装图片

frm.mainloop() #显示窗体,等待触发事件

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表