立即学习: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布局相关推荐

  1. 学习笔记(48):Python实战编程-grid布局

    立即学习:https://edu.csdn.net/course/play/19711/343110?utm_source=blogtoedu grid布局:根据表结构进行的布局,索引为0行0列开始, ...

  2. 学习笔记(47):Python实战编程-pack布局

    立即学习:https://edu.csdn.net/course/play/19711/343109?utm_source=blogtoedu pack布局: 1)最常用的布局,顺序排列布局方法 2) ...

  3. 学习笔记(58):Python实战编程-Combobox

    立即学习:https://edu.csdn.net/course/play/19711/343121?utm_source=blogtoedu 1.下拉列表Combobox:与Listbox相比,下拉 ...

  4. 学习笔记(57):Python实战编程-Treeview

    立即学习:https://edu.csdn.net/course/play/19711/343120?utm_source=blogtoedu 1.树状结构Treeview:分为树状折叠式列表和列表显 ...

  5. 学习笔记(55):Python实战编程-Scrollbar

    立即学习:https://edu.csdn.net/course/play/19711/343118?utm_source=blogtoedu 1.滚动条ScrollBar: 当列表内容项的内容过多时 ...

  6. 学习笔记(53):Python实战编程-Checkbutton

    立即学习:https://edu.csdn.net/course/play/19711/343116?utm_source=blogtoedu 复选框Checkbutton:与单选框是相对的,一些用法 ...

  7. 学习笔记(59):Python实战编程-Graphics

    立即学习:https://edu.csdn.net/course/play/19711/343123?utm_source=blogtoedu 1.graphics:图形界面组件的绘制,利用的是坐标的 ...

  8. 学习笔记(54):Python实战编程-Scale

    立即学习:https://edu.csdn.net/course/play/19711/343117?utm_source=blogtoedu 1.滑块组件Scale: 用于定义一定范围的区间,如音量 ...

  9. 学习笔记(52):Python实战编程-Radiobutton

    立即学习:https://edu.csdn.net/course/play/19711/343115?utm_source=blogtoedu 单选钮:Radiobutton 1)相对于大部分组件而言 ...

最新文章

  1. golang 变量定义和初始化
  2. 昨天尝试了Layout,也谈Silverlight的布局
  3. 帮你梳理springboot所有常用注解
  4. PHP学习总结(14)——PHP入门篇之常用运算符
  5. 结构与算法(02):队列和栈结构
  6. 【图像处理】美图秀秀使用技巧:抠图、透明、改色、教程
  7. Qhsusb Dload驱动
  8. 个人作业-软件案例分析
  9. S60 Python 编程指南——如何创建pys60应用程序
  10. Postgresql - cursor介绍
  11. Genesys Business Continuity 部署
  12. 蒙特卡洛树搜索 Monte Carlo Tree Search
  13. Flutter pageview indicator指示器实现
  14. win怎么更换计算机密码错误,win10系统更改开机密码提示“Windows不能更改密码”的解决方法...
  15. C++整数快速读写模板(快速读入+快速写)详解
  16. killall为什么有时候会找不到进程?
  17. 阿里云 mysql 修改密码_阿里云mysql修改密码
  18. 选型宝访谈:怎样构建既让老板满意,又让员工满意的费控报销系统?
  19. MySQL的upsert
  20. USACO 2.1 健康的荷斯坦奶牛 Healthy Holsteins

热门文章

  1. iOS Tips 模拟器屏幕截图
  2. Node — 第四天(Promise与路由)
  3. javascript随堂练习(分支,循环语句)
  4. Exception和RuntimeException的区别
  5. 防止cpu 一直被占用 sleep(0) 和 yield
  6. POJ 1228 Grandpa's Estate --深入理解凸包
  7. Google Chrome保存插件方法
  8. 获取当前文件所在路径
  9. Google 节日徽标全集 (1999-2009) (下)
  10. Activity Intent相关FLAG介绍