|
最后Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习Python门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的Python学习资料,给那些想学习Python的小伙伴们一点帮助!👉Python所有方向的学习路线👈Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。👉Python必备开发工具👈工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。👉Python全套学习视频👈我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。👉实战案例👈学python就与学数学一样,是不能只看书不做题的,直接看步骤和答案会让人误以为自己全都掌握了,但是碰到生题的时候还是会一筹莫展。因此在学习python的过程中一定要记得多动手写代码,教程只需要看一两遍即可。👉大厂面试真题👈我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。需要这份系统化学习资料的朋友,可以戳这里获取一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!【相关方法】方法名描述pack_configure和pack一样pack_forget使控件不再被Pack几何布局管理器管理**(控件并不是被删除了!依然占用内存!)**pack_info返回一个字典,键值分别为当前控件的参数的字符串形式及值pack_propagate参数如果为真布尔值,如1或on,则为容器控件启用传播(见下**【几何传播】**),容器控件必须是窗口名。如果为假布尔值,则禁用容器控件的传播。在这两种情况下,都会返回一个空字符串。如果省略布尔值,则命令返回0或1,以指示当前是否为容器控件启用传播。默认情况下,将启用传播。pack_slaves返回一个列表,列表内容为该控件中所有用pack布局的子控件(按pack布局的顺序)【一般容器控件才用该方法】pack_content旧版Tkinter中,和pack_slaves()功能相同**【新版中貌似已经删去此方法】****【几何传播】**Pack通常会计算一个容器控件(如Frame控件)必须有多大才能完全满足其内容物的需要,并将容器控件的宽度和高度设置为这些尺寸。这会导致几何信息通过窗口层次向上传播到顶层窗口(Toplevel类型的控件),以便整个子树自行调整大小以满足叶窗口的需要。但是,pack_propagate命令可用于关闭一个或多个容器控件的传播。如果传播被禁用,则Pack几何布局管理器将不会设置pack所需的宽度和高度。例如,如果希望容器控件具有指定的固定大小,这可能很有用。【这里推荐一篇写的很好的关于Pack的文章】用tkinter.pack设计复杂界面布局_快乐清风客的博客-CSDN博客_tkinter界面设计【代码示例】fromtkinterimport*root=Tk()root.title('Pack方法')root.geometry('600x600+300+100')Frame(root,bg='red',width=100).pack(side='left',fill='y',expand='no')Frame(root,bg='yellow',height=100).pack(side='top',fill='x')Frame(root,bg='green').pack(expand=1,fill='both')root.mainloop()1234567891011【运行效果】二、Place方法【Place方法官方原文:placemanualpage-Built-InCommands】【参数说明】参数描述anchor改变place布局控件的基准点,默认为**‘nw’(左上角)**【修改后其x参数和y参数的基准点随之改变】bordermode可选参数有**‘inside’,‘outside’和’ignore’**,默认为’inside’【1】in_同上Packrelwidth设置控件宽度,参数为0~1.0,意为宽度占父控件宽度的比例若父控件宽度为100,relwidth=0.5,则该控件宽度为100×0.5=50(像素)【与参数width冲突,两者会叠加】relheight设置控件高度,参数为0~1.0,意为高度占父控件高度的比例若父控件高度为100,relheight=0.5,则该控件高度为100×0.5=50(像素)【与参数height冲突,两者会叠加】relx设置控件基准点(左上角)横坐标位置,参数为0~1.0,意为横坐标占父控件宽度的比例若父控件宽度为100,relx=0.5,则该控件基准点横坐标为100×0.5=50(像素)【与参数x冲突,两者会叠加】rely设置控件基准点(左上角)纵坐标位置,参数为0~1.0,意为纵坐标占父控件高度的比例若父控件高度为100,rely=0.5,则该控件基准点纵坐标为100×0.5=50(像素)【与参数y冲突,两者会叠加】width设定控件的宽度(单位:像素)height设定控件的高度(单位:像素)x设定控件基准点(左上角)的横坐标位置(单位:像素)y设定控件基准点(左上角)的纵坐标位置(单位:像素)【1】该参数不常用,要参考的可以看一下官方说明:(我就不翻译了,嘻嘻,主要是没看太懂,有懂的可以在评论区说一下哦!)-bordermodemodewhethertotakeborderwidthofmasterwidgetintoaccountMode determinesthedegreetowhichborderswithinthecontainerareusedindeterminingtheplacementofthecontent.Thedefaultandmostcommonvalueis inside.Inthiscasetheplacerconsiderstheareaofthecontainertobetheinnermostareaofthecontainer,insideanyborder:anoptionof -x0 correspondstoanx-coordinatejustinsidetheborderandanoptionof -relwidth1.0 means window willfilltheareainsidethecontainer’sborder.If mode is outside thentheplacerconsiderstheareaofthecontainertoincludeitsborder;thismodeistypicallyusedwhenplacing window outsideitscontainer,aswiththeoptions -x0-y0-anchorne.Lastly, mode maybespecifiedas ignore,inwhichcasebordersareignored:theareaofthecontainerisconsideredtobeitsofficialXarea,whichincludesanyinternalborderbutnoexternalborder.Abordermodeof ignore isprobablynotveryuseful.【相关方法】方法名描述place_configure同上packplace_forget同上packplace_info同上packplace_slaves同上packplace_content同上pack【代码示例】fromtkinterimport*root=Tk()root.title('Place方法')root.geometry('600x600+300+100')Frame(root,bg='red').place(width=450,height=150)Frame(root,bg='yellow').place(width=150,height=450,x=450)Frame(root,bg='blue').place(width=450,height=150,x=150,y=450)Frame(root,bg='green').place(width=150,height=450,y=150)root.mainloop()123456789101112【运行效果】三、Grid方法【Grid方法官方原文:gridmanualpage-TkBuilt-InCommands】【参数说明】参数描述column参数为一个非负整数,0为第1列,代表控件从第一列开始布局columnspan参数为正整数,控件占n列row参数为一个非负整数,0为第1行,代表控件从第一行开始布局rowspan参数为正整数,控件占n行ipadx同上Packipady同上Packpadx同上Packpady同上Packin_同上Packsticky控件在grid布局的网格中默认会居中显示,该参数可以改变其显示位置,可选参数有**‘n’,‘w’,‘s’和’e’(或N,W,S,E)**(组合起来也可以用,如’nw’或NW)【相关方法】方法名描述grid_configure同上packgrid_forget同上packgrid_info同上packgrid_location两个参数x和y(代表像素位置),以元组形式返回该位置(x,y)在grid的网格中的列与行,若不在,则返回**-1**grid_propagate同上packgrid_columnconfigure比较复杂,主要用于查询或设置网格、网格的行属性等,可选参数有minsize、weight、uniform和pad具体见官方说明【传送门在上边】grid_rowconfigure类似于grid_columnconfiguregrid_remove与grid_forget相比,它的功能只有一个区别,在grid几何布局管理移除对该控件的管理后,它会保留该控件之前的配置参数,若恢复管理,则将恢复该控件之前已配置好的参数**(grid_forget没有此功能)**grid_size以元组的形式返回网格的大小**(先列后行)**grid_slaves同上packgrid_content同上packgrid_bbox如果没有参数,将返回网格的边界框的数据(以像素为单位)。返回值由4个整数组成。前两个是从网格左上角(先x后y)的像素偏移量,后两个整数是网格的宽度和高度,也以像素为单位。如果指定了单个列和行,则返回该单元格的边界框数据,其中左上角的单元格从零开始编号。如果同时指定了列和行参数,则返回跨越所示行和列的边界框数据。【代码示例】fromtkinterimport*root=Tk()root.title('Grid方法')root.geometry('600x600+300+100')Frame(root,bg='red',width=300,height=300).grid(column=0,row=0)Frame(root,bg='yellow',width=300,height=300).grid(column=0,row=1)Frame(root,bg='blue',width=300,height=300).grid(column=1,row=0)Frame(root,bg='green',width=300,height=300).grid(column=1,row=1)root.mainloop()123456789101112【运行效果】【总结一下】Pack方法比较简单,可以解决不是非常复杂的图形化界面,但是它只能单一地放置,对于网格化的图形化界面,用Pack就比较繁琐;Place方法十分精确,它要求了很多参数,能够轻松胜任复杂的图形化界面,但是缺陷也很明显,窗口放大或缩小,Place管理的控件并不能随之改变大小及位置;Grid方法就是网格,字面意思嘛,它能够很好地应付网格化的图形化界面,但对于复杂且规律不明显的界面而言,Grid方法就显得不太行了;各有各的优缺点,对于不同的程序我们应该选用合适的几何布局管理器,但是给个小建议,尽量不要在同一个程序中使用不同的几何布局管理器,那样容易把自己弄晕,且代码看起来不清晰。我呢,就比较喜欢用Place了,精确控制控件的大小及位置不就和我们小时候搭积木一样吗?简单容易,就是这个位置坐标有点“费头发”…学好Python不论是就业还是做副业赚钱都不错,但要学会Python还是要有一个学习规划。最后大家分享一份全套的Python学习资料,给那些想学习Python的小伙伴们一点帮助!一、Python所有方向的学习路线Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。二、学习软件工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。三、全套PDF电子书书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。四、入门学习视频我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。五、实战案例光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。六、面试资料我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化学习资料的朋友,可以戳这里获取一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
|
|