学习笔记(49):Python实战编程-place布局
立即学习:https://edu.csdn.net/course/play/19711/343111?utm_source=blogtoedu
1.place布局:
1)最灵活的布局方式,是根据坐标点来进行组件的位置布局的
2)确定坐标点后,组件从坐标点开始展开,即以指定坐标点为组件的左上定位点
3)组件.place(x=,y=)
2. place直接布局
image_label_1 = tkinter.Label(root,image = image)
image_label_2 = tkinter.Label(root,image = image)image_label_1.place(x = 50,y = 50)
image_label_2.place(x= 100,y = 100)
import tkinter#导入创建窗体的相关模块
import osimage_path = r'C:\Users\jinlin\Desktop\python_further_study\GUI编程\resources' + os.sep + 'linlianqin.gif'#因为每个平台的分隔符不一样,所以用os.sep可以自动切换到相应平台的分隔符class Mainwindow():#创建窗口类def __init__(self):root = tkinter.Tk()#创建主体窗口root.title('linlianqin')#定义窗体的名字root.geometry('500x500')#定义窗体的初始大小root.maxsize(1200,1200)#设置窗口可以显示的最大尺寸#----------------------对组件进行place布局-------------------------image = tkinter.PhotoImage(file = image_path)image_label_1 = tkinter.Label(root,image = image)image_label_2 = tkinter.Label(root,image = image)image_label_1.place(x = 50,y = 50)image_label_2.place(x= 100,y = 100)root.mainloop()#显示窗口,这个代码一定要放在所有窗口设置的后面if __name__ == '__main__':Mainwindow()#将窗体类实例化
3. place布局加组件拖拽事件,一般有拖拽事件的都是使用place布局的
self.image_label_1.place(x=0,y=0)self.image_label_2.place(x=50,y=50)self.image_label_1.bind("<B1-Motion>",self.label_move_1)self.image_label_2.bind("<B1-Motion>",self.label_move_2)self.root.mainloop() # 显示窗口,这个代码一定要放在所有窗口设置的后面#定义组件拖拽功能
def label_move_1(self,event):self.image_label_1.place(x=event.x,y = event.y)#event事件中含有下x,y坐标点的信息def label_move_2(self,event):self.image_label_2.place(x=event.x,y = event.y)
import tkinter#导入创建窗体的相关模块
import osimage_path = r'C:\Users\jinlin\Desktop\python_further_study\GUI编程\resources' + os.sep + 'linlianqin.gif'#因为每个平台的分隔符不一样,所以用os.sep可以自动切换到相应平台的分隔符class Mainwindow():#创建窗口类def __init__(self):self.root = tkinter.Tk()#创建主体窗口self.root.title('linlianqin')#定义窗体的名字self.root.geometry('500x500')#定义窗体的初始大小self.root.maxsize(1200,1200)#设置窗口可以显示的最大尺寸#----------------------对组件进行place布局-------------------------self.image = tkinter.PhotoImage(file = image_path)self.image_label_1 = tkinter.Label(self.root,image = self.image)self.image_label_2 = tkinter.Label(self.root,image = self.image)self.image_label_1.place(x=0,y=0)self.image_label_2.place(x=50,y=50)self.image_label_1.bind("<B1-Motion>",self.label_move_1)self.image_label_2.bind("<B1-Motion>",self.label_move_2)self.root.mainloop() # 显示窗口,这个代码一定要放在所有窗口设置的后面#定义组件拖拽功能def label_move_1(self,event):self.image_label_1.place(x=event.x,y = event.y)#event事件中含有下x,y坐标点的信息def label_move_2(self,event):self.image_label_2.place(x=event.x,y = event.y)if __name__ == '__main__':Mainwindow()#将窗体类实例化
学习笔记(49):Python实战编程-place布局相关推荐
- 学习笔记(48):Python实战编程-grid布局
立即学习:https://edu.csdn.net/course/play/19711/343110?utm_source=blogtoedu grid布局:根据表结构进行的布局,索引为0行0列开始, ...
- 学习笔记(47):Python实战编程-pack布局
立即学习:https://edu.csdn.net/course/play/19711/343109?utm_source=blogtoedu pack布局: 1)最常用的布局,顺序排列布局方法 2) ...
- 学习笔记(58):Python实战编程-Combobox
立即学习:https://edu.csdn.net/course/play/19711/343121?utm_source=blogtoedu 1.下拉列表Combobox:与Listbox相比,下拉 ...
- 学习笔记(57):Python实战编程-Treeview
立即学习:https://edu.csdn.net/course/play/19711/343120?utm_source=blogtoedu 1.树状结构Treeview:分为树状折叠式列表和列表显 ...
- 学习笔记(55):Python实战编程-Scrollbar
立即学习:https://edu.csdn.net/course/play/19711/343118?utm_source=blogtoedu 1.滚动条ScrollBar: 当列表内容项的内容过多时 ...
- 学习笔记(53):Python实战编程-Checkbutton
立即学习:https://edu.csdn.net/course/play/19711/343116?utm_source=blogtoedu 复选框Checkbutton:与单选框是相对的,一些用法 ...
- 学习笔记(59):Python实战编程-Graphics
立即学习:https://edu.csdn.net/course/play/19711/343123?utm_source=blogtoedu 1.graphics:图形界面组件的绘制,利用的是坐标的 ...
- 学习笔记(54):Python实战编程-Scale
立即学习:https://edu.csdn.net/course/play/19711/343117?utm_source=blogtoedu 1.滑块组件Scale: 用于定义一定范围的区间,如音量 ...
- 学习笔记(52):Python实战编程-Radiobutton
立即学习:https://edu.csdn.net/course/play/19711/343115?utm_source=blogtoedu 单选钮:Radiobutton 1)相对于大部分组件而言 ...
最新文章
- golang 变量定义和初始化
- 昨天尝试了Layout,也谈Silverlight的布局
- 帮你梳理springboot所有常用注解
- PHP学习总结(14)——PHP入门篇之常用运算符
- 结构与算法(02):队列和栈结构
- 【图像处理】美图秀秀使用技巧:抠图、透明、改色、教程
- Qhsusb Dload驱动
- 个人作业-软件案例分析
- S60 Python 编程指南——如何创建pys60应用程序
- Postgresql - cursor介绍
- Genesys Business Continuity 部署
- 蒙特卡洛树搜索 Monte Carlo Tree Search
- Flutter pageview indicator指示器实现
- win怎么更换计算机密码错误,win10系统更改开机密码提示“Windows不能更改密码”的解决方法...
- C++整数快速读写模板(快速读入+快速写)详解
- killall为什么有时候会找不到进程?
- 阿里云 mysql 修改密码_阿里云mysql修改密码
- 选型宝访谈:怎样构建既让老板满意,又让员工满意的费控报销系统?
- MySQL的upsert
- USACO 2.1 健康的荷斯坦奶牛 Healthy Holsteins