[{"data":1,"prerenderedAt":2971},["ShallowReactive",2],{"post-2025-07-19-pyqt5":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"tags":11,"body":15,"_type":2965,"_id":2966,"_source":2967,"_file":2968,"_stem":2969,"_extension":2970},"\u002Fblog\u002F2025-07-19-pyqt5","blog",false,"","PyQt5-窗口的个性化设置","PyQt5窗口个性化设置：图标、标题、背景图、样式表等定制化配置。","2025-07-19",[12,13,14],"Python","PyQt5","GUI",{"type":16,"children":17,"toc":2957},"root",[18,36,43,47,420,426,429,443,450,484,493,513,533,539,565,573,581,594,608,614,633,641,654,666,680,780,786,789,808,816,821,840,848,861,869,890,898,903,934,946,954,959,989,995,998,1003,1017,1059,1078,1092,1097,1105,1153,1191,1199,1211,1225,1229,1237,1301,1312,1320,1333,1407,1418,1457,1500,1512,1520,1531,1568,1610,1621,1629,1715,1726,1741,1746,1754,1760,1765,1770,1791,1799,1819,1827,1861,1869,1911,1919,1938,1946,1966,1974,1986,1998,2006,2034,2042,2061,2069,2087,2095,2100,2135,2143,2171,2198,2233,2285,2293,2315,2323,2329,2332,2337,2345,2350,2369,2377,2420,2433,2447,2453,2456,2469,2483,2494,2502,2620,2632,2655,2663,2845,2864,2878,2883,2891,2926,2941,2951],{"type":19,"tag":20,"props":21,"children":22},"element","blockquote",{},[23],{"type":19,"tag":24,"props":25,"children":26},"p",{},[27,34],{"type":19,"tag":28,"props":29,"children":30},"strong",{},[31],{"type":32,"value":33},"text","Note:",{"type":32,"value":35},"\n在PyQt5窗口创建完成后，可以在Qt Designer设计器中通过属性对窗口进行设置，表中列出了PyQt5窗口常用的一些属性及说明。",{"type":19,"tag":37,"props":38,"children":40},"h2",{"id":39},"pyqt5窗口的常用属性及说明",[41],{"type":32,"value":42},"PyQt5窗口的常用属性及说明",{"type":19,"tag":44,"props":45,"children":46},"hr",{},[],{"type":19,"tag":48,"props":49,"children":50},"table",{},[51,77],{"type":19,"tag":52,"props":53,"children":54},"thead",{},[55],{"type":19,"tag":56,"props":57,"children":58},"tr",{},[59,69],{"type":19,"tag":60,"props":61,"children":63},"th",{"align":62},"center",[64],{"type":19,"tag":28,"props":65,"children":66},{},[67],{"type":32,"value":68},"常 用 属 性",{"type":19,"tag":60,"props":70,"children":71},{"align":62},[72],{"type":19,"tag":28,"props":73,"children":74},{},[75],{"type":32,"value":76},"说    明",{"type":19,"tag":78,"props":79,"children":80},"tbody",{},[81,95,108,121,134,147,160,173,186,199,212,225,238,251,264,277,290,303,316,329,342,355,368,381,394,407],{"type":19,"tag":56,"props":82,"children":83},{},[84,90],{"type":19,"tag":85,"props":86,"children":87},"td",{"align":62},[88],{"type":32,"value":89},"objectName",{"type":19,"tag":85,"props":91,"children":92},{"align":62},[93],{"type":32,"value":94},"窗口的唯一标识，程序通过该属性调用窗口",{"type":19,"tag":56,"props":96,"children":97},{},[98,103],{"type":19,"tag":85,"props":99,"children":100},{"align":62},[101],{"type":32,"value":102},"geometry",{"type":19,"tag":85,"props":104,"children":105},{"align":62},[106],{"type":32,"value":107},"该属性中可以设置窗口的宽度和高度",{"type":19,"tag":56,"props":109,"children":110},{},[111,116],{"type":19,"tag":85,"props":112,"children":113},{"align":62},[114],{"type":32,"value":115},"windowTitle",{"type":19,"tag":85,"props":117,"children":118},{"align":62},[119],{"type":32,"value":120},"标题栏文本",{"type":19,"tag":56,"props":122,"children":123},{},[124,129],{"type":19,"tag":85,"props":125,"children":126},{"align":62},[127],{"type":32,"value":128},"windowIcon",{"type":19,"tag":85,"props":130,"children":131},{"align":62},[132],{"type":32,"value":133},"窗口的标题栏图标",{"type":19,"tag":56,"props":135,"children":136},{},[137,142],{"type":19,"tag":85,"props":138,"children":139},{"align":62},[140],{"type":32,"value":141},"windowOpacity",{"type":19,"tag":85,"props":143,"children":144},{"align":62},[145],{"type":32,"value":146},"窗口的透明度，取值范围为0~1",{"type":19,"tag":56,"props":148,"children":149},{},[150,155],{"type":19,"tag":85,"props":151,"children":152},{"align":62},[153],{"type":32,"value":154},"windowModality",{"type":19,"tag":85,"props":156,"children":157},{"align":62},[158],{"type":32,"value":159},"窗口样式，可选值有NonModal、WindowModal和ApplicationModal",{"type":19,"tag":56,"props":161,"children":162},{},[163,168],{"type":19,"tag":85,"props":164,"children":165},{"align":62},[166],{"type":32,"value":167},"enabled",{"type":19,"tag":85,"props":169,"children":170},{"align":62},[171],{"type":32,"value":172},"窗口是否可用",{"type":19,"tag":56,"props":174,"children":175},{},[176,181],{"type":19,"tag":85,"props":177,"children":178},{"align":62},[179],{"type":32,"value":180},"mininumSize",{"type":19,"tag":85,"props":182,"children":183},{"align":62},[184],{"type":32,"value":185},"窗口最小化时的大小，默认为0×0",{"type":19,"tag":56,"props":187,"children":188},{},[189,194],{"type":19,"tag":85,"props":190,"children":191},{"align":62},[192],{"type":32,"value":193},"maximumSize",{"type":19,"tag":85,"props":195,"children":196},{"align":62},[197],{"type":32,"value":198},"窗口最大化时的大小，默认为16777215×16777215",{"type":19,"tag":56,"props":200,"children":201},{},[202,207],{"type":19,"tag":85,"props":203,"children":204},{"align":62},[205],{"type":32,"value":206},"palette",{"type":19,"tag":85,"props":208,"children":209},{"align":62},[210],{"type":32,"value":211},"窗口的调色板，可以用来设置窗口的背景",{"type":19,"tag":56,"props":213,"children":214},{},[215,220],{"type":19,"tag":85,"props":216,"children":217},{"align":62},[218],{"type":32,"value":219},"font",{"type":19,"tag":85,"props":221,"children":222},{"align":62},[223],{"type":32,"value":224},"设置窗口的字体，包括字体名称、字体大小、是否为粗体、是否为斜体、是否有下划线、是否有删除线等",{"type":19,"tag":56,"props":226,"children":227},{},[228,233],{"type":19,"tag":85,"props":229,"children":230},{"align":62},[231],{"type":32,"value":232},"cursor",{"type":19,"tag":85,"props":234,"children":235},{"align":62},[236],{"type":32,"value":237},"窗口的鼠标样式",{"type":19,"tag":56,"props":239,"children":240},{},[241,246],{"type":19,"tag":85,"props":242,"children":243},{"align":62},[244],{"type":32,"value":245},"contextMenuPolicy",{"type":19,"tag":85,"props":247,"children":248},{"align":62},[249],{"type":32,"value":250},"窗口的快捷菜单样式",{"type":19,"tag":56,"props":252,"children":253},{},[254,259],{"type":19,"tag":85,"props":255,"children":256},{"align":62},[257],{"type":32,"value":258},"acceptDrops",{"type":19,"tag":85,"props":260,"children":261},{"align":62},[262],{"type":32,"value":263},"是否接受拖放操作",{"type":19,"tag":56,"props":265,"children":266},{},[267,272],{"type":19,"tag":85,"props":268,"children":269},{"align":62},[270],{"type":32,"value":271},"toolTip",{"type":19,"tag":85,"props":273,"children":274},{"align":62},[275],{"type":32,"value":276},"窗口的提示文本",{"type":19,"tag":56,"props":278,"children":279},{},[280,285],{"type":19,"tag":85,"props":281,"children":282},{"align":62},[283],{"type":32,"value":284},"toolTipDuration",{"type":19,"tag":85,"props":286,"children":287},{"align":62},[288],{"type":32,"value":289},"窗口提示文本的显示间隔",{"type":19,"tag":56,"props":291,"children":292},{},[293,298],{"type":19,"tag":85,"props":294,"children":295},{"align":62},[296],{"type":32,"value":297},"statusTip",{"type":19,"tag":85,"props":299,"children":300},{"align":62},[301],{"type":32,"value":302},"窗口的状态提示",{"type":19,"tag":56,"props":304,"children":305},{},[306,311],{"type":19,"tag":85,"props":307,"children":308},{"align":62},[309],{"type":32,"value":310},"whatsThis",{"type":19,"tag":85,"props":312,"children":313},{"align":62},[314],{"type":32,"value":315},"窗口的“这是什么”提示",{"type":19,"tag":56,"props":317,"children":318},{},[319,324],{"type":19,"tag":85,"props":320,"children":321},{"align":62},[322],{"type":32,"value":323},"layoutDirection",{"type":19,"tag":85,"props":325,"children":326},{"align":62},[327],{"type":32,"value":328},"窗口的布局方式，可选值有LeftToRight、RightToLeft和LayoutDirectionAuto",{"type":19,"tag":56,"props":330,"children":331},{},[332,337],{"type":19,"tag":85,"props":333,"children":334},{"align":62},[335],{"type":32,"value":336},"autoFillBackground",{"type":19,"tag":85,"props":338,"children":339},{"align":62},[340],{"type":32,"value":341},"是否自动填充背景",{"type":19,"tag":56,"props":343,"children":344},{},[345,350],{"type":19,"tag":85,"props":346,"children":347},{"align":62},[348],{"type":32,"value":349},"styleSheet",{"type":19,"tag":85,"props":351,"children":352},{"align":62},[353],{"type":32,"value":354},"设置窗口样式，可以用来设置窗口的背景",{"type":19,"tag":56,"props":356,"children":357},{},[358,363],{"type":19,"tag":85,"props":359,"children":360},{"align":62},[361],{"type":32,"value":362},"locale",{"type":19,"tag":85,"props":364,"children":365},{"align":62},[366],{"type":32,"value":367},"窗口的国际化设置",{"type":19,"tag":56,"props":369,"children":370},{},[371,376],{"type":19,"tag":85,"props":372,"children":373},{"align":62},[374],{"type":32,"value":375},"iconSize",{"type":19,"tag":85,"props":377,"children":378},{"align":62},[379],{"type":32,"value":380},"窗口标题栏图标的大小",{"type":19,"tag":56,"props":382,"children":383},{},[384,389],{"type":19,"tag":85,"props":385,"children":386},{"align":62},[387],{"type":32,"value":388},"toolButtonStyle",{"type":19,"tag":85,"props":390,"children":391},{"align":62},[392],{"type":32,"value":393},"窗口中的工具栏样式，默认值为ToolButtonIconOnly，表示默认工具栏中只显示图标，用户可以更改为只显示文本，或者同时显示文本和图标",{"type":19,"tag":56,"props":395,"children":396},{},[397,402],{"type":19,"tag":85,"props":398,"children":399},{"align":62},[400],{"type":32,"value":401},"dockOptions",{"type":19,"tag":85,"props":403,"children":404},{"align":62},[405],{"type":32,"value":406},"停靠选项",{"type":19,"tag":56,"props":408,"children":409},{},[410,415],{"type":19,"tag":85,"props":411,"children":412},{"align":62},[413],{"type":32,"value":414},"unifiedTitleAndToolBarOnMac",{"type":19,"tag":85,"props":416,"children":417},{"align":62},[418],{"type":32,"value":419},"在Mac OS系统中是否可以定义标题和工具栏",{"type":19,"tag":37,"props":421,"children":423},{"id":422},"_1基本属性设置",[424],{"type":32,"value":425},"1  基本属性设置",{"type":19,"tag":44,"props":427,"children":428},{},[],{"type":19,"tag":24,"props":430,"children":431},{},[432,434,441],{"type":32,"value":433},"窗口包含一些基本的组成要素，包括对象名称、图标、标题、位置和背景等，这些要素可以通过窗口中的",{"type":19,"tag":435,"props":436,"children":438},"code",{"className":437},[],[439],{"type":32,"value":440},"属性编辑器",{"type":32,"value":442},"窗口进行设置，也可以通过代码来实现。下面详细介绍窗口的常见属性设置。",{"type":19,"tag":444,"props":445,"children":447},"h4",{"id":446},"_1设置窗口的对象名称",[448],{"type":32,"value":449},"1）设置窗口的对象名称",{"type":19,"tag":24,"props":451,"children":452},{},[453,455,460,462,467,469,474,476,482],{"type":32,"value":454},"窗口的对象名称，相当于窗口的标识，是唯一的，在编写代码时，对窗口的任何设置和使用都是通过该名称进行操作的。在Qt Designer设计器中，",{"type":19,"tag":28,"props":456,"children":457},{},[458],{"type":32,"value":459},"窗口的对象名称",{"type":32,"value":461},"是通过",{"type":19,"tag":435,"props":463,"children":465},{"className":464},[],[466],{"type":32,"value":440},{"type":32,"value":468},"中的",{"type":19,"tag":435,"props":470,"children":472},{"className":471},[],[473],{"type":32,"value":89},{"type":32,"value":475},"属性进行设置的，默认名称为",{"type":19,"tag":435,"props":477,"children":479},{"className":478},[],[480],{"type":32,"value":481},"MainWindow",{"type":32,"value":483},"，如图所示，用户可以根据实际情况进行更改，但要保证在当前窗口中是唯一的。",{"type":19,"tag":24,"props":485,"children":486},{},[487],{"type":19,"tag":488,"props":489,"children":492},"img",{"alt":490,"src":491},"Pasted image 20250827102315","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827102315.png",[],{"type":19,"tag":24,"props":494,"children":495},{},[496,498,503,505,511],{"type":32,"value":497},"除了可以在Qt Designer设计器的",{"type":19,"tag":435,"props":499,"children":501},{"className":500},[],[502],{"type":32,"value":440},{"type":32,"value":504},"中对其进行修改之外，还可以通过Python代码进行设置，设置时需要使用",{"type":19,"tag":435,"props":506,"children":508},{"className":507},[],[509],{"type":32,"value":510},"setObjectName()函数",{"type":32,"value":512},"，使用方法如下：",{"type":19,"tag":514,"props":515,"children":519},"pre",{"code":516,"language":517,"meta":7,"className":518,"style":7},"MainWindow.setObjectName(\"MainWindow\")\n","python","language-python shiki shiki-themes github-dark",[520],{"type":19,"tag":435,"props":521,"children":522},{"__ignoreMap":7},[523],{"type":19,"tag":524,"props":525,"children":528},"span",{"class":526,"line":527},"line",1,[529],{"type":19,"tag":524,"props":530,"children":531},{},[532],{"type":32,"value":516},{"type":19,"tag":444,"props":534,"children":536},{"id":535},"_2设置窗口的标题栏名称",[537],{"type":32,"value":538},"2）设置窗口的标题栏名称",{"type":19,"tag":24,"props":540,"children":541},{},[542,544,549,551,556,558,563],{"type":32,"value":543},"在窗口的属性中，通过",{"type":19,"tag":435,"props":545,"children":547},{"className":546},[],[548],{"type":32,"value":115},{"type":32,"value":550},"属性",{"type":19,"tag":28,"props":552,"children":553},{},[554],{"type":32,"value":555},"设置窗口的标题栏名称",{"type":32,"value":557},"，标题栏名称就是显示在窗口标题上的文本，",{"type":19,"tag":435,"props":559,"children":561},{"className":560},[],[562],{"type":32,"value":115},{"type":32,"value":564},"属性设置及窗口标题栏的预览效果分别如下图所示。",{"type":19,"tag":24,"props":566,"children":567},{},[568],{"type":19,"tag":488,"props":569,"children":572},{"alt":570,"src":571},"Pasted image 20250827102651","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827102651.png",[],{"type":19,"tag":24,"props":574,"children":575},{},[576],{"type":19,"tag":488,"props":577,"children":580},{"alt":578,"src":579},"Pasted image 20250827102751","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827102751.png",[],{"type":19,"tag":24,"props":582,"children":583},{},[584,586,592],{"type":32,"value":585},"在Python中使用",{"type":19,"tag":435,"props":587,"children":589},{"className":588},[],[590],{"type":32,"value":591},"setWindowTitle()函数",{"type":32,"value":593},"也可以设置窗口标题栏，代码如下：",{"type":19,"tag":514,"props":595,"children":597},{"code":596,"language":517,"meta":7,"className":518,"style":7},"MainWindow.setWindowTitle(_translate(\"MainWindow\",\"标题栏\"))\n",[598],{"type":19,"tag":435,"props":599,"children":600},{"__ignoreMap":7},[601],{"type":19,"tag":524,"props":602,"children":603},{"class":526,"line":527},[604],{"type":19,"tag":524,"props":605,"children":606},{},[607],{"type":32,"value":596},{"type":19,"tag":444,"props":609,"children":611},{"id":610},"_3修改窗口的大小",[612],{"type":32,"value":613},"3）修改窗口的大小",{"type":19,"tag":24,"props":615,"children":616},{},[617,619,624,626,631],{"type":32,"value":618},"在窗口的属性中，通过展开",{"type":19,"tag":435,"props":620,"children":622},{"className":621},[],[623],{"type":32,"value":102},{"type":32,"value":625},"属性，可以",{"type":19,"tag":28,"props":627,"children":628},{},[629],{"type":32,"value":630},"设置窗口的大小",{"type":32,"value":632},"。修改窗口的大小，只需更改宽度和高度的值即可，如图所示。",{"type":19,"tag":24,"props":634,"children":635},{},[636],{"type":19,"tag":488,"props":637,"children":640},{"alt":638,"src":639},"Pasted image 20250827102955","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827102955.png",[],{"type":19,"tag":20,"props":642,"children":643},{},[644],{"type":19,"tag":24,"props":645,"children":646},{},[647,652],{"type":19,"tag":28,"props":648,"children":649},{},[650],{"type":32,"value":651},"Info:",{"type":32,"value":653}," 说明\n在设置窗口的大小时，其值只能是整数，不能是小数。",{"type":19,"tag":24,"props":655,"children":656},{},[657,658,664],{"type":32,"value":585},{"type":19,"tag":435,"props":659,"children":661},{"className":660},[],[662],{"type":32,"value":663},"resize()函数",{"type":32,"value":665},"也可以设置窗口的大小，代码如下：",{"type":19,"tag":514,"props":667,"children":669},{"code":668,"language":517,"meta":7,"className":518,"style":7},"MainWindow.resize(252, 100)\n",[670],{"type":19,"tag":435,"props":671,"children":672},{"__ignoreMap":7},[673],{"type":19,"tag":524,"props":674,"children":675},{"class":526,"line":527},[676],{"type":19,"tag":524,"props":677,"children":678},{},[679],{"type":32,"value":668},{"type":19,"tag":20,"props":681,"children":682},{},[683,738],{"type":19,"tag":24,"props":684,"children":685},{},[686,691,693,698,700,706,708,714,716,722,724,729,731,736],{"type":19,"tag":28,"props":687,"children":688},{},[689],{"type":32,"value":690},"Tip:",{"type":32,"value":692}," 多学两招\nPyQt5窗口运行时，",{"type":19,"tag":28,"props":694,"children":695},{},[696],{"type":32,"value":697},"默认居中显示",{"type":32,"value":699},"在屏幕中，如果想自定义PyQt5窗口的显示位置，可以根据窗口大小和屏幕大小来进行设置。其中，窗口的大小使用",{"type":19,"tag":435,"props":701,"children":703},{"className":702},[],[704],{"type":32,"value":705},"geometry()方法",{"type":32,"value":707},"即可获取，而获取屏幕大小可以使用",{"type":19,"tag":435,"props":709,"children":711},{"className":710},[],[712],{"type":32,"value":713},"QDesktopWidget",{"type":32,"value":715},"类中的",{"type":19,"tag":435,"props":717,"children":719},{"className":718},[],[720],{"type":32,"value":721},"screenGeometry()方法",{"type":32,"value":723},"，",{"type":19,"tag":435,"props":725,"children":727},{"className":726},[],[728],{"type":32,"value":713},{"type":32,"value":730},"类是PyQt5中提供的一个与屏幕相关的类，其",{"type":19,"tag":435,"props":732,"children":734},{"className":733},[],[735],{"type":32,"value":721},{"type":32,"value":737},"用来获取屏幕的大小。例如，下面代码用来获取当前屏幕的大小（包括宽度和高度）：",{"type":19,"tag":514,"props":739,"children":741},{"code":740,"language":517,"meta":7,"className":518,"style":7},"from PyQt5.QtWidgets import QDesktopWidget  # 导入屏幕类  \nscreen=QDesktopWidget().screenGeometry()    # 获取屏幕大小  \nwidth=screen.width()                        # 获取屏幕的宽  \nheight=screen.height()                      # 获取屏幕的高\n",[742],{"type":19,"tag":435,"props":743,"children":744},{"__ignoreMap":7},[745,753,762,771],{"type":19,"tag":524,"props":746,"children":747},{"class":526,"line":527},[748],{"type":19,"tag":524,"props":749,"children":750},{},[751],{"type":32,"value":752},"from PyQt5.QtWidgets import QDesktopWidget  # 导入屏幕类  \n",{"type":19,"tag":524,"props":754,"children":756},{"class":526,"line":755},2,[757],{"type":19,"tag":524,"props":758,"children":759},{},[760],{"type":32,"value":761},"screen=QDesktopWidget().screenGeometry()    # 获取屏幕大小  \n",{"type":19,"tag":524,"props":763,"children":765},{"class":526,"line":764},3,[766],{"type":19,"tag":524,"props":767,"children":768},{},[769],{"type":32,"value":770},"width=screen.width()                        # 获取屏幕的宽  \n",{"type":19,"tag":524,"props":772,"children":774},{"class":526,"line":773},4,[775],{"type":19,"tag":524,"props":776,"children":777},{},[778],{"type":32,"value":779},"height=screen.height()                      # 获取屏幕的高\n",{"type":19,"tag":37,"props":781,"children":783},{"id":782},"_2更换窗口的图标",[784],{"type":32,"value":785},"2  更换窗口的图标",{"type":19,"tag":44,"props":787,"children":788},{},[],{"type":19,"tag":24,"props":790,"children":791},{},[792,794,799,801,806],{"type":32,"value":793},"添加一个新的窗口后，窗口的图标是系统默认的QT图标。如果想更换窗口的图标，可以在",{"type":19,"tag":435,"props":795,"children":797},{"className":796},[],[798],{"type":32,"value":440},{"type":32,"value":800},"中设置窗口的",{"type":19,"tag":435,"props":802,"children":804},{"className":803},[],[805],{"type":32,"value":128},{"type":32,"value":807},"属性，窗口的系统默认图标和更换后的新图标如图所示。",{"type":19,"tag":24,"props":809,"children":810},{},[811],{"type":19,"tag":488,"props":812,"children":815},{"alt":813,"src":814},"Pasted image 20250827104048","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827104048.png",[],{"type":19,"tag":24,"props":817,"children":818},{},[819],{"type":32,"value":820},"更换窗口图标的过程非常简单，具体操作如下：",{"type":19,"tag":24,"props":822,"children":823},{},[824,826,831,833,838],{"type":32,"value":825},"1）选中窗口，然后在",{"type":19,"tag":435,"props":827,"children":829},{"className":828},[],[830],{"type":32,"value":440},{"type":32,"value":832},"中选中",{"type":19,"tag":435,"props":834,"children":836},{"className":835},[],[837],{"type":32,"value":128},{"type":32,"value":839},"属性，这时会出现下拉按钮，如图所示。",{"type":19,"tag":24,"props":841,"children":842},{},[843],{"type":19,"tag":488,"props":844,"children":847},{"alt":845,"src":846},"Pasted image 20250827103738","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827103738.png",[],{"type":19,"tag":24,"props":849,"children":850},{},[851,853,859],{"type":32,"value":852},"2）单击下拉按钮，在下拉列表中选择",{"type":19,"tag":435,"props":854,"children":856},{"className":855},[],[857],{"type":32,"value":858},"选择文件",{"type":32,"value":860},"菜单项，如图所示。",{"type":19,"tag":24,"props":862,"children":863},{},[864],{"type":19,"tag":488,"props":865,"children":868},{"alt":866,"src":867},"Pasted image 20250827103828","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827103828.png",[],{"type":19,"tag":24,"props":870,"children":871},{},[872,874,880,882,888],{"type":32,"value":873},"3）弹出",{"type":19,"tag":435,"props":875,"children":877},{"className":876},[],[878],{"type":32,"value":879},"选择一个像素映射",{"type":32,"value":881},"对话框，该对话框中选择新的图标文件，单击",{"type":19,"tag":435,"props":883,"children":885},{"className":884},[],[886],{"type":32,"value":887},"打开",{"type":32,"value":889},"按钮，即可将选择的图标文件作为窗口的图标，如图所示。",{"type":19,"tag":24,"props":891,"children":892},{},[893],{"type":19,"tag":488,"props":894,"children":897},{"alt":895,"src":896},"Pasted image 20250827103942","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827103942.png",[],{"type":19,"tag":24,"props":899,"children":900},{},[901],{"type":32,"value":902},"通过上面的方式修改窗口图标后对应的Python代码如下：",{"type":19,"tag":514,"props":904,"children":906},{"code":905,"language":517,"meta":7,"className":518,"style":7},"icon = QtGui.QIcon()  \nicon.addPixmap(QtGui.QPixmap(r\"D:\\CodeFile\\Python_Code\\PyQt5\\UI\\Couioly头像.jpg\"), QtGui.QIcon.Normal, QtGui.QIcon.Off)  \nMainWindow.setWindowIcon(icon)\n",[907],{"type":19,"tag":435,"props":908,"children":909},{"__ignoreMap":7},[910,918,926],{"type":19,"tag":524,"props":911,"children":912},{"class":526,"line":527},[913],{"type":19,"tag":524,"props":914,"children":915},{},[916],{"type":32,"value":917},"icon = QtGui.QIcon()  \n",{"type":19,"tag":524,"props":919,"children":920},{"class":526,"line":755},[921],{"type":19,"tag":524,"props":922,"children":923},{},[924],{"type":32,"value":925},"icon.addPixmap(QtGui.QPixmap(r\"D:\\CodeFile\\Python_Code\\PyQt5\\UI\\Couioly头像.jpg\"), QtGui.QIcon.Normal, QtGui.QIcon.Off)  \n",{"type":19,"tag":524,"props":927,"children":928},{"class":526,"line":764},[929],{"type":19,"tag":524,"props":930,"children":931},{},[932],{"type":32,"value":933},"MainWindow.setWindowIcon(icon)\n",{"type":19,"tag":20,"props":935,"children":936},{},[937],{"type":19,"tag":24,"props":938,"children":939},{},[940,944],{"type":19,"tag":28,"props":941,"children":942},{},[943],{"type":32,"value":690},{"type":32,"value":945}," 多学两招\n通过上面的代码可以看出，在使用选择图标文件的方式设置窗口图标时，使用的是图标的绝对路径，这样做的缺点是，如果其他用户在使用你的程序时，没有上面的路径，就会无法正常显示图标，那么如何解决该问题呢？可以将要使用的图标文件复制到项目的目录下，如图所示。",{"type":19,"tag":24,"props":947,"children":948},{},[949],{"type":19,"tag":488,"props":950,"children":953},{"alt":951,"src":952},"Pasted image 20250827104434","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827104434.png",[],{"type":19,"tag":24,"props":955,"children":956},{},[957],{"type":32,"value":958},"这时就可以直接通过图标文件名进行使用，上面的代码可以更改为如下：",{"type":19,"tag":514,"props":960,"children":962},{"code":961,"language":517,"meta":7,"className":518,"style":7},"icon = QtGui.QIcon()    \nicon.addPixmap(QtGui.QPixmap(\"Couioly头像.jpg\"), QtGui.QIcon.Normal, QtGui.QIcon.Off)    \nMainWindow.setWindowIcon(icon)\n",[963],{"type":19,"tag":435,"props":964,"children":965},{"__ignoreMap":7},[966,974,982],{"type":19,"tag":524,"props":967,"children":968},{"class":526,"line":527},[969],{"type":19,"tag":524,"props":970,"children":971},{},[972],{"type":32,"value":973},"icon = QtGui.QIcon()    \n",{"type":19,"tag":524,"props":975,"children":976},{"class":526,"line":755},[977],{"type":19,"tag":524,"props":978,"children":979},{},[980],{"type":32,"value":981},"icon.addPixmap(QtGui.QPixmap(\"Couioly头像.jpg\"), QtGui.QIcon.Normal, QtGui.QIcon.Off)    \n",{"type":19,"tag":524,"props":983,"children":984},{"class":526,"line":764},[985],{"type":19,"tag":524,"props":986,"children":987},{},[988],{"type":32,"value":933},{"type":19,"tag":37,"props":990,"children":992},{"id":991},"_3设置窗口的背景",[993],{"type":32,"value":994},"3  设置窗口的背景",{"type":19,"tag":44,"props":996,"children":997},{},[],{"type":19,"tag":24,"props":999,"children":1000},{},[1001],{"type":32,"value":1002},"为了使窗口设计更加得美观，通常会设置窗口的背景样式，在PyQt5中设置窗口的背景有3种常用的方法，下面分别介绍。",{"type":19,"tag":444,"props":1004,"children":1006},{"id":1005},"_1使用setstylesheet函数设置窗口背景",[1007,1009,1015],{"type":32,"value":1008},"1）使用",{"type":19,"tag":435,"props":1010,"children":1012},{"className":1011},[],[1013],{"type":32,"value":1014},"setStyleSheet()函数",{"type":32,"value":1016},"设置窗口背景",{"type":19,"tag":24,"props":1018,"children":1019},{},[1020,1022,1027,1029,1035,1037,1043,1045,1050,1052,1057],{"type":32,"value":1021},"在使用",{"type":19,"tag":435,"props":1023,"children":1025},{"className":1024},[],[1026],{"type":32,"value":1014},{"type":32,"value":1028},"设置窗口背景时，需要以",{"type":19,"tag":435,"props":1030,"children":1032},{"className":1031},[],[1033],{"type":32,"value":1034},"background-color",{"type":32,"value":1036},"或者",{"type":19,"tag":435,"props":1038,"children":1040},{"className":1039},[],[1041],{"type":32,"value":1042},"border-image",{"type":32,"value":1044},"的方式来进行设置，其中",{"type":19,"tag":435,"props":1046,"children":1048},{"className":1047},[],[1049],{"type":32,"value":1034},{"type":32,"value":1051},"可以设置窗口的背景颜色；而",{"type":19,"tag":435,"props":1053,"children":1055},{"className":1054},[],[1056],{"type":32,"value":1042},{"type":32,"value":1058},"可以设置窗口的背景图片。",{"type":19,"tag":24,"props":1060,"children":1061},{},[1062,1064,1069,1071,1076],{"type":32,"value":1063},"使用",{"type":19,"tag":435,"props":1065,"children":1067},{"className":1066},[],[1068],{"type":32,"value":1014},{"type":32,"value":1070},"设",{"type":19,"tag":28,"props":1072,"children":1073},{},[1074],{"type":32,"value":1075},"置窗口背景颜色",{"type":32,"value":1077},"的代码如下：",{"type":19,"tag":514,"props":1079,"children":1081},{"code":1080,"language":517,"meta":7,"className":518,"style":7},"MainWindow.setStyleSheet(\"#MainWindow{background-color:red}\")\n",[1082],{"type":19,"tag":435,"props":1083,"children":1084},{"__ignoreMap":7},[1085],{"type":19,"tag":524,"props":1086,"children":1087},{"class":526,"line":527},[1088],{"type":19,"tag":524,"props":1089,"children":1090},{},[1091],{"type":32,"value":1080},{"type":19,"tag":24,"props":1093,"children":1094},{},[1095],{"type":32,"value":1096},"运行效果如图所示。",{"type":19,"tag":24,"props":1098,"children":1099},{},[1100],{"type":19,"tag":488,"props":1101,"children":1104},{"alt":1102,"src":1103},"Pasted image 20250827104838","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827104838.png",[],{"type":19,"tag":20,"props":1106,"children":1107},{},[1108],{"type":19,"tag":24,"props":1109,"children":1110},{},[1111,1115,1117,1122,1124,1129,1131,1136,1138,1144,1145,1151],{"type":19,"tag":28,"props":1112,"children":1113},{},[1114],{"type":32,"value":651},{"type":32,"value":1116}," 说明\n在使用",{"type":19,"tag":435,"props":1118,"children":1120},{"className":1119},[],[1121],{"type":32,"value":1014},{"type":32,"value":1123},"设置窗口背景色之后，窗口中的",{"type":19,"tag":28,"props":1125,"children":1126},{},[1127],{"type":32,"value":1128},"控件会继承窗口的背景色",{"type":32,"value":1130},"，如果想要",{"type":19,"tag":28,"props":1132,"children":1133},{},[1134],{"type":32,"value":1135},"为控件设置背景图片或者图标",{"type":32,"value":1137},"，需要使用",{"type":19,"tag":435,"props":1139,"children":1141},{"className":1140},[],[1142],{"type":32,"value":1143},"setPixmap()",{"type":32,"value":1036},{"type":19,"tag":435,"props":1146,"children":1148},{"className":1147},[],[1149],{"type":32,"value":1150},"setIcon()函数",{"type":32,"value":1152},"来完成。",{"type":19,"tag":24,"props":1154,"children":1155},{},[1156,1157,1162,1167,1169,1174,1176,1182,1184,1189],{"type":32,"value":1021},{"type":19,"tag":435,"props":1158,"children":1160},{"className":1159},[],[1161],{"type":32,"value":1014},{"type":19,"tag":28,"props":1163,"children":1164},{},[1165],{"type":32,"value":1166},"设置窗口背景图片",{"type":32,"value":1168},"时，首先需要包括要作为背景的图片文件，因为代码中需要用到图片的路径，这里",{"type":19,"tag":28,"props":1170,"children":1171},{},[1172],{"type":32,"value":1173},"将图片文件放在",{"type":32,"value":1175},"与",{"type":19,"tag":435,"props":1177,"children":1179},{"className":1178},[],[1180],{"type":32,"value":1181},".py",{"type":32,"value":1183},"文件",{"type":19,"tag":28,"props":1185,"children":1186},{},[1187],{"type":32,"value":1188},"同一目录层级下的images文件夹中",{"type":32,"value":1190},"，位置存放位置如图所示。",{"type":19,"tag":24,"props":1192,"children":1193},{},[1194],{"type":19,"tag":488,"props":1195,"children":1198},{"alt":1196,"src":1197},"Pasted image 20250827105822","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827105822.png",[],{"type":19,"tag":24,"props":1200,"children":1201},{},[1202,1204,1209],{"type":32,"value":1203},"在存放完图片文件后，接下来就可以使用",{"type":19,"tag":435,"props":1205,"children":1207},{"className":1206},[],[1208],{"type":32,"value":1014},{"type":32,"value":1210},"设置窗口的背景图片了，代码如下：",{"type":19,"tag":514,"props":1212,"children":1214},{"code":1213,"language":517,"meta":7,"className":518,"style":7},"MainWindow.setStyleSheet(\"#MainWindow{border-image:url(images\u002FBG哪吒.png)}\")  # 设置背景图片\n",[1215],{"type":19,"tag":435,"props":1216,"children":1217},{"__ignoreMap":7},[1218],{"type":19,"tag":524,"props":1219,"children":1220},{"class":526,"line":527},[1221],{"type":19,"tag":524,"props":1222,"children":1223},{},[1224],{"type":32,"value":1213},{"type":19,"tag":24,"props":1226,"children":1227},{},[1228],{"type":32,"value":1096},{"type":19,"tag":24,"props":1230,"children":1231},{},[1232],{"type":19,"tag":488,"props":1233,"children":1236},{"alt":1234,"src":1235},"Pasted image 20250827110134","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827110134.png",[],{"type":19,"tag":20,"props":1238,"children":1239},{},[1240,1278],{"type":19,"tag":24,"props":1241,"children":1242},{},[1243,1247,1249,1254,1256,1261,1263,1269,1271,1276],{"type":19,"tag":28,"props":1244,"children":1245},{},[1246],{"type":32,"value":651},{"type":32,"value":1248}," 说明\n除了在",{"type":19,"tag":435,"props":1250,"children":1252},{"className":1251},[],[1253],{"type":32,"value":1014},{"type":32,"value":1255},"中使用",{"type":19,"tag":435,"props":1257,"children":1259},{"className":1258},[],[1260],{"type":32,"value":1042},{"type":32,"value":1262},"方式设置窗口的背景图片外，还可以使用",{"type":19,"tag":435,"props":1264,"children":1266},{"className":1265},[],[1267],{"type":32,"value":1268},"background-image",{"type":32,"value":1270},"方式设置，但",{"type":19,"tag":28,"props":1272,"children":1273},{},[1274],{"type":32,"value":1275},"这种方式设置的背景图片会平铺显示",{"type":32,"value":1277},"，代码如下：",{"type":19,"tag":514,"props":1279,"children":1281},{"code":1280,"language":517,"meta":7,"className":518,"style":7},"# 设置背景图片  \nMainWindow.setStyleSheet(\"#MainWindow{background-image:url(images\u002FBG哪吒.png)}\")\n",[1282],{"type":19,"tag":435,"props":1283,"children":1284},{"__ignoreMap":7},[1285,1293],{"type":19,"tag":524,"props":1286,"children":1287},{"class":526,"line":527},[1288],{"type":19,"tag":524,"props":1289,"children":1290},{},[1291],{"type":32,"value":1292},"# 设置背景图片  \n",{"type":19,"tag":524,"props":1294,"children":1295},{"class":526,"line":755},[1296],{"type":19,"tag":524,"props":1297,"children":1298},{},[1299],{"type":32,"value":1300},"MainWindow.setStyleSheet(\"#MainWindow{background-image:url(images\u002FBG哪吒.png)}\")\n",{"type":19,"tag":24,"props":1302,"children":1303},{},[1304,1305,1310],{"type":32,"value":1063},{"type":19,"tag":435,"props":1306,"children":1308},{"className":1307},[],[1309],{"type":32,"value":1268},{"type":32,"value":1311},"方式设置的窗口背景图片效果如图所示。",{"type":19,"tag":24,"props":1313,"children":1314},{},[1315],{"type":19,"tag":488,"props":1316,"children":1319},{"alt":1317,"src":1318},"Pasted image 20250827110506","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827110506.png",[],{"type":19,"tag":444,"props":1321,"children":1323},{"id":1322},"_2使用qpalette设置窗口背景",[1324,1326,1332],{"type":32,"value":1325},"2）使用",{"type":19,"tag":435,"props":1327,"children":1329},{"className":1328},[],[1330],{"type":32,"value":1331},"QPalette",{"type":32,"value":1016},{"type":19,"tag":24,"props":1334,"children":1335},{},[1336,1341,1343,1348,1350,1355,1357,1363,1365,1370,1372,1378,1379,1384,1386,1391,1392,1398,1400,1405],{"type":19,"tag":435,"props":1337,"children":1339},{"className":1338},[],[1340],{"type":32,"value":1331},{"type":32,"value":1342},"类是PyQt5中提供的一个调色板，专门用于管理控件的外观显示，每个窗口和控件都包含一个",{"type":19,"tag":435,"props":1344,"children":1346},{"className":1345},[],[1347],{"type":32,"value":1331},{"type":32,"value":1349},"对象。通过",{"type":19,"tag":435,"props":1351,"children":1353},{"className":1352},[],[1354],{"type":32,"value":1331},{"type":32,"value":1356},"对象的",{"type":19,"tag":435,"props":1358,"children":1360},{"className":1359},[],[1361],{"type":32,"value":1362},"setColor()函数",{"type":32,"value":1364},"可以",{"type":19,"tag":28,"props":1366,"children":1367},{},[1368],{"type":32,"value":1369},"设置颜色",{"type":32,"value":1371},"，而通过该对象的",{"type":19,"tag":435,"props":1373,"children":1375},{"className":1374},[],[1376],{"type":32,"value":1377},"setBrush()函数",{"type":32,"value":1364},{"type":19,"tag":28,"props":1380,"children":1381},{},[1382],{"type":32,"value":1383},"设置图片",{"type":32,"value":1385},"，最后使用",{"type":19,"tag":435,"props":1387,"children":1389},{"className":1388},[],[1390],{"type":32,"value":481},{"type":32,"value":1356},{"type":19,"tag":435,"props":1393,"children":1395},{"className":1394},[],[1396],{"type":32,"value":1397},"setPalette()函数",{"type":32,"value":1399},"即可",{"type":19,"tag":28,"props":1401,"children":1402},{},[1403],{"type":32,"value":1404},"为窗口设置背景图片或者背景",{"type":32,"value":1406},"。",{"type":19,"tag":24,"props":1408,"children":1409},{},[1410,1411,1416],{"type":32,"value":1063},{"type":19,"tag":435,"props":1412,"children":1414},{"className":1413},[],[1415],{"type":32,"value":1331},{"type":32,"value":1417},"对象为窗口设置背景颜色的代码如下：",{"type":19,"tag":514,"props":1419,"children":1421},{"code":1420,"language":517,"meta":7,"className":518,"style":7},"MainWindow.setObjectName(\"MainWindow\")  \npalette = QtGui.QPalette()  \npalette.setColor(QtGui.QPalette.Background, Qt.red)  \nMainWindow.setPalette(palette)\n",[1422],{"type":19,"tag":435,"props":1423,"children":1424},{"__ignoreMap":7},[1425,1433,1441,1449],{"type":19,"tag":524,"props":1426,"children":1427},{"class":526,"line":527},[1428],{"type":19,"tag":524,"props":1429,"children":1430},{},[1431],{"type":32,"value":1432},"MainWindow.setObjectName(\"MainWindow\")  \n",{"type":19,"tag":524,"props":1434,"children":1435},{"class":526,"line":755},[1436],{"type":19,"tag":524,"props":1437,"children":1438},{},[1439],{"type":32,"value":1440},"palette = QtGui.QPalette()  \n",{"type":19,"tag":524,"props":1442,"children":1443},{"class":526,"line":764},[1444],{"type":19,"tag":524,"props":1445,"children":1446},{},[1447],{"type":32,"value":1448},"palette.setColor(QtGui.QPalette.Background, Qt.red)  \n",{"type":19,"tag":524,"props":1450,"children":1451},{"class":526,"line":773},[1452],{"type":19,"tag":524,"props":1453,"children":1454},{},[1455],{"type":32,"value":1456},"MainWindow.setPalette(palette)\n",{"type":19,"tag":20,"props":1458,"children":1459},{},[1460,1486],{"type":19,"tag":24,"props":1461,"children":1462},{},[1463,1468,1470,1476,1478,1484],{"type":19,"tag":28,"props":1464,"children":1465},{},[1466],{"type":32,"value":1467},"Warning:",{"type":32,"value":1469}," 注意\n使用",{"type":19,"tag":435,"props":1471,"children":1473},{"className":1472},[],[1474],{"type":32,"value":1475},"Qt.red",{"type":32,"value":1477},"时，需要使用下面的代码导入",{"type":19,"tag":435,"props":1479,"children":1481},{"className":1480},[],[1482],{"type":32,"value":1483},"Qt",{"type":32,"value":1485},"模块：",{"type":19,"tag":514,"props":1487,"children":1489},{"code":1488,"language":517,"meta":7,"className":518,"style":7},"from PyQt5.QtCore import Qt\n",[1490],{"type":19,"tag":435,"props":1491,"children":1492},{"__ignoreMap":7},[1493],{"type":19,"tag":524,"props":1494,"children":1495},{"class":526,"line":527},[1496],{"type":19,"tag":524,"props":1497,"children":1498},{},[1499],{"type":32,"value":1488},{"type":19,"tag":24,"props":1501,"children":1502},{},[1503,1505,1510],{"type":32,"value":1504},"运行效果与使用",{"type":19,"tag":435,"props":1506,"children":1508},{"className":1507},[],[1509],{"type":32,"value":1014},{"type":32,"value":1511},"设置窗口背景颜色的效果一样，如下图所示。",{"type":19,"tag":24,"props":1513,"children":1514},{},[1515],{"type":19,"tag":488,"props":1516,"children":1519},{"alt":1517,"src":1518},"Pasted image 20250827111304","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827111304.png",[],{"type":19,"tag":24,"props":1521,"children":1522},{},[1523,1524,1529],{"type":32,"value":1063},{"type":19,"tag":435,"props":1525,"children":1527},{"className":1526},[],[1528],{"type":32,"value":1331},{"type":32,"value":1530},"对象为窗口设置背景图片的代码如下：",{"type":19,"tag":514,"props":1532,"children":1534},{"code":1533,"language":517,"meta":7,"className":518,"style":7},"# 使用QPalette设置窗口背景图片  \npalette = QtGui.QPalette()  \npalette.setBrush(QtGui.QPalette.Background, QBrush(QPixmap(\".\u002Fimages\u002FBG哪吒.png\")))  \nMainWindow.setPalette(palette)\n",[1535],{"type":19,"tag":435,"props":1536,"children":1537},{"__ignoreMap":7},[1538,1546,1553,1561],{"type":19,"tag":524,"props":1539,"children":1540},{"class":526,"line":527},[1541],{"type":19,"tag":524,"props":1542,"children":1543},{},[1544],{"type":32,"value":1545},"# 使用QPalette设置窗口背景图片  \n",{"type":19,"tag":524,"props":1547,"children":1548},{"class":526,"line":755},[1549],{"type":19,"tag":524,"props":1550,"children":1551},{},[1552],{"type":32,"value":1440},{"type":19,"tag":524,"props":1554,"children":1555},{"class":526,"line":764},[1556],{"type":19,"tag":524,"props":1557,"children":1558},{},[1559],{"type":32,"value":1560},"palette.setBrush(QtGui.QPalette.Background, QBrush(QPixmap(\".\u002Fimages\u002FBG哪吒.png\")))  \n",{"type":19,"tag":524,"props":1562,"children":1563},{"class":526,"line":773},[1564],{"type":19,"tag":524,"props":1565,"children":1566},{},[1567],{"type":32,"value":1456},{"type":19,"tag":20,"props":1569,"children":1570},{},[1571,1596],{"type":19,"tag":24,"props":1572,"children":1573},{},[1574,1578,1580,1586,1588,1594],{"type":19,"tag":28,"props":1575,"children":1576},{},[1577],{"type":32,"value":1467},{"type":32,"value":1579}," 注意\n在上面代码中用到了",{"type":19,"tag":435,"props":1581,"children":1583},{"className":1582},[],[1584],{"type":32,"value":1585},"QBrush",{"type":32,"value":1587},"和",{"type":19,"tag":435,"props":1589,"children":1591},{"className":1590},[],[1592],{"type":32,"value":1593},"QPixmap",{"type":32,"value":1595},"，因此需要进行导入，代码如下：",{"type":19,"tag":514,"props":1597,"children":1599},{"code":1598,"language":517,"meta":7,"className":518,"style":7},"from PyQt5.QtGui import QBrush,QPixmap\n",[1600],{"type":19,"tag":435,"props":1601,"children":1602},{"__ignoreMap":7},[1603],{"type":19,"tag":524,"props":1604,"children":1605},{"class":526,"line":527},[1606],{"type":19,"tag":524,"props":1607,"children":1608},{},[1609],{"type":32,"value":1598},{"type":19,"tag":24,"props":1611,"children":1612},{},[1613,1614,1619],{"type":32,"value":1063},{"type":19,"tag":435,"props":1615,"children":1617},{"className":1616},[],[1618],{"type":32,"value":1331},{"type":32,"value":1620},"对象为窗口设置背景图片的效果如图所示。",{"type":19,"tag":24,"props":1622,"children":1623},{},[1624],{"type":19,"tag":488,"props":1625,"children":1628},{"alt":1626,"src":1627},"Pasted image 20250827111658","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827111658.png",[],{"type":19,"tag":20,"props":1630,"children":1631},{},[1632,1700],{"type":19,"tag":24,"props":1633,"children":1634},{},[1635,1639,1641,1646,1648,1653,1655,1661,1662,1667,1669,1674,1676,1682,1684,1690,1692,1698],{"type":19,"tag":28,"props":1636,"children":1637},{},[1638],{"type":32,"value":690},{"type":32,"value":1640}," 多学两招\n观察上图，会发现背景图片没有显示全，这是因为在使用",{"type":19,"tag":435,"props":1642,"children":1644},{"className":1643},[],[1645],{"type":32,"value":1331},{"type":32,"value":1647},"对象为窗口设置背景图片时，",{"type":19,"tag":28,"props":1649,"children":1650},{},[1651],{"type":32,"value":1652},"默认是平铺显示",{"type":32,"value":1654},"的，那么如何使背景图片能够自动适应窗口的大小呢？这就需要在设置背景时，对",{"type":19,"tag":435,"props":1656,"children":1658},{"className":1657},[],[1659],{"type":32,"value":1660},"setBrush()方法",{"type":32,"value":468},{"type":19,"tag":435,"props":1663,"children":1665},{"className":1664},[],[1666],{"type":32,"value":1593},{"type":32,"value":1668},"对象参数进行设置，具体设置方法是：在生成",{"type":19,"tag":435,"props":1670,"children":1672},{"className":1671},[],[1673],{"type":32,"value":1593},{"type":32,"value":1675},"窗口背景图对象参数时，使用",{"type":19,"tag":435,"props":1677,"children":1679},{"className":1678},[],[1680],{"type":32,"value":1681},"窗口大小",{"type":32,"value":1683},"、",{"type":19,"tag":435,"props":1685,"children":1687},{"className":1686},[],[1688],{"type":32,"value":1689},"QtCore.Qt.IgnoreAspectRatio",{"type":32,"value":1691},"值和",{"type":19,"tag":435,"props":1693,"children":1695},{"className":1694},[],[1696],{"type":32,"value":1697},"QtCore.Qt.SmoothTransformation",{"type":32,"value":1699},"值进行设置。关键代码如下：",{"type":19,"tag":514,"props":1701,"children":1703},{"code":1702,"language":517,"meta":7,"className":518,"style":7},"# 使用QPalette设置窗口背景图片(自动适应窗口大小)  \n",[1704],{"type":19,"tag":435,"props":1705,"children":1706},{"__ignoreMap":7},[1707],{"type":19,"tag":524,"props":1708,"children":1709},{"class":526,"line":527},[1710],{"type":19,"tag":524,"props":1711,"children":1712},{},[1713],{"type":32,"value":1714},"# 使用QPalette设置窗口背景图片(自动适应窗口大小)\n",{"type":19,"tag":24,"props":1716,"children":1717},{},[1718,1720,1724],{"type":32,"value":1719},"palette = QtGui.QPalette()",{"type":19,"tag":1721,"props":1722,"children":1723},"br",{},[],{"type":32,"value":1725},"\npalette.setBrush(MainWindow.backgroundRole(), QBrush(QPixmap(\".\u002Fimages\u002FBG哪吒.png\").scaled(MainWindow.size(), QtCore.Qt.IgnoreAspectRatio,QtCore.Qt.SmoothTransformation)))",{"type":19,"tag":20,"props":1727,"children":1728},{},[1729,1734],{"type":19,"tag":24,"props":1730,"children":1731},{},[1732],{"type":32,"value":1733},"MainWindow.setPalette(palette)",{"type":19,"tag":514,"props":1735,"children":1736},{"code":7},[1737],{"type":19,"tag":435,"props":1738,"children":1739},{"__ignoreMap":7},[1740],{"type":32,"value":7},{"type":19,"tag":24,"props":1742,"children":1743},{},[1744],{"type":32,"value":1745},"运行程序，效果如图所示，对比上图，可以看到下图中的背景图片自动适应了窗口大小。",{"type":19,"tag":24,"props":1747,"children":1748},{},[1749],{"type":19,"tag":488,"props":1750,"children":1753},{"alt":1751,"src":1752},"Pasted image 20250827112506","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827112506.png",[],{"type":19,"tag":444,"props":1755,"children":1757},{"id":1756},"_3通过资源文件设置窗口背景",[1758],{"type":32,"value":1759},"3）通过资源文件设置窗口背景",{"type":19,"tag":24,"props":1761,"children":1762},{},[1763],{"type":32,"value":1764},"除了以上两种设置窗口背景的方式，PyQt5还推荐使用资源文件的方式对窗口背景进行设置，下面介绍具体的实现过程：",{"type":19,"tag":24,"props":1766,"children":1767},{},[1768],{"type":32,"value":1769},"1）在Qt Designer创建并使用资源文件，即在Qt Designer工具中设计程序界面时，可以通过资源浏览器添加图片或图标等资源。",{"type":19,"tag":24,"props":1771,"children":1772},{},[1773,1775,1781,1783,1789],{"type":32,"value":1774},"2）在Python的项目路径中创建一个名称为",{"type":19,"tag":435,"props":1776,"children":1778},{"className":1777},[],[1779],{"type":32,"value":1780},"images",{"type":32,"value":1782},"的文件夹，然后将需要测试的图片保存在该文件夹当中，打开Qt Designer工具，在右下角的资源浏览器中单击",{"type":19,"tag":435,"props":1784,"children":1786},{"className":1785},[],[1787],{"type":32,"value":1788},"编辑资源",{"type":32,"value":1790},"的按钮，如图所示。",{"type":19,"tag":24,"props":1792,"children":1793},{},[1794],{"type":19,"tag":488,"props":1795,"children":1798},{"alt":1796,"src":1797},"Pasted image 20250827113128","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827113128.png",[],{"type":19,"tag":24,"props":1800,"children":1801},{},[1802,1804,1809,1811,1817],{"type":32,"value":1803},"3）在弹出的",{"type":19,"tag":435,"props":1805,"children":1807},{"className":1806},[],[1808],{"type":32,"value":1788},{"type":32,"value":1810},"对话框中，单击左下角的第一个",{"type":19,"tag":435,"props":1812,"children":1814},{"className":1813},[],[1815],{"type":32,"value":1816},"新建资源文件",{"type":32,"value":1818},"按钮，如图所示。",{"type":19,"tag":24,"props":1820,"children":1821},{},[1822],{"type":19,"tag":488,"props":1823,"children":1826},{"alt":1824,"src":1825},"Pasted image 20250827113217","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827113217.png",[],{"type":19,"tag":24,"props":1828,"children":1829},{},[1830,1832,1837,1839,1844,1846,1852,1854,1860],{"type":32,"value":1831},"4）在",{"type":19,"tag":435,"props":1833,"children":1835},{"className":1834},[],[1836],{"type":32,"value":1816},{"type":32,"value":1838},"的对话框中，选择该资源文件保存的路径为当前Python项目的路径，然后设置文件名称为",{"type":19,"tag":435,"props":1840,"children":1842},{"className":1841},[],[1843],{"type":32,"value":488},{"type":32,"value":1845},"，保存类型为",{"type":19,"tag":435,"props":1847,"children":1849},{"className":1848},[],[1850],{"type":32,"value":1851},"资源文件（*.qrc）",{"type":32,"value":1853},"，最后单击",{"type":19,"tag":435,"props":1855,"children":1857},{"className":1856},[],[1858],{"type":32,"value":1859},"保存",{"type":32,"value":1818},{"type":19,"tag":24,"props":1862,"children":1863},{},[1864],{"type":19,"tag":488,"props":1865,"children":1868},{"alt":1866,"src":1867},"Pasted image 20250827113520","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827113520.png",[],{"type":19,"tag":24,"props":1870,"children":1871},{},[1872,1874,1879,1881,1886,1888,1894,1896,1902,1904,1910],{"type":32,"value":1873},"5）单击",{"type":19,"tag":435,"props":1875,"children":1877},{"className":1876},[],[1878],{"type":32,"value":1859},{"type":32,"value":1880},"按钮后，将自动返回至",{"type":19,"tag":435,"props":1882,"children":1884},{"className":1883},[],[1885],{"type":32,"value":1788},{"type":32,"value":1887},"对话框中，然后在该对话框中选择",{"type":19,"tag":435,"props":1889,"children":1891},{"className":1890},[],[1892],{"type":32,"value":1893},"添加前缀",{"type":32,"value":1895},"按钮，设置前缀为",{"type":19,"tag":435,"props":1897,"children":1899},{"className":1898},[],[1900],{"type":32,"value":1901},"png",{"type":32,"value":1903},"，再单击",{"type":19,"tag":435,"props":1905,"children":1907},{"className":1906},[],[1908],{"type":32,"value":1909},"添加文件",{"type":32,"value":1818},{"type":19,"tag":24,"props":1912,"children":1913},{},[1914],{"type":19,"tag":488,"props":1915,"children":1918},{"alt":1916,"src":1917},"Pasted image 20250827113910","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827113910.png",[],{"type":19,"tag":24,"props":1920,"children":1921},{},[1922,1924,1929,1931,1936],{"type":32,"value":1923},"6）在",{"type":19,"tag":435,"props":1925,"children":1927},{"className":1926},[],[1928],{"type":32,"value":1909},{"type":32,"value":1930},"的对话框中选择需要添加的图片文件，然后单击",{"type":19,"tag":435,"props":1932,"children":1934},{"className":1933},[],[1935],{"type":32,"value":887},{"type":32,"value":1937},"按钮即可，如图所示。",{"type":19,"tag":24,"props":1939,"children":1940},{},[1941],{"type":19,"tag":488,"props":1942,"children":1945},{"alt":1943,"src":1944},"Pasted image 20250827114006","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827114006.png",[],{"type":19,"tag":24,"props":1947,"children":1948},{},[1949,1951,1956,1958,1964],{"type":32,"value":1950},"7）图片添加完成以后，将自动返回至",{"type":19,"tag":435,"props":1952,"children":1954},{"className":1953},[],[1955],{"type":32,"value":1788},{"type":32,"value":1957},"的对话框，在该对话框中直接单击",{"type":19,"tag":435,"props":1959,"children":1961},{"className":1960},[],[1962],{"type":32,"value":1963},"OK",{"type":32,"value":1965},"按钮即可，然后资源浏览器将显示添加的图片资源，如图所示的效果。",{"type":19,"tag":24,"props":1967,"children":1968},{},[1969],{"type":19,"tag":488,"props":1970,"children":1973},{"alt":1971,"src":1972},"Pasted image 20250827114306","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827114306.png",[],{"type":19,"tag":20,"props":1975,"children":1976},{},[1977],{"type":19,"tag":24,"props":1978,"children":1979},{},[1980,1984],{"type":19,"tag":28,"props":1981,"children":1982},{},[1983],{"type":32,"value":651},{"type":32,"value":1985}," 说明\n设置的前缀，是自己定义的路径前缀，用于区分不同的资源文件。",{"type":19,"tag":24,"props":1987,"children":1988},{},[1989,1991,1996],{"type":32,"value":1990},"8）选中设计窗口，找到",{"type":19,"tag":435,"props":1992,"children":1994},{"className":1993},[],[1995],{"type":32,"value":349},{"type":32,"value":1997},"属性，单击右面的三个点按钮，如图所示。",{"type":19,"tag":24,"props":1999,"children":2000},{},[2001],{"type":19,"tag":488,"props":2002,"children":2005},{"alt":2003,"src":2004},"Pasted image 20250827114455","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827114455.png",[],{"type":19,"tag":24,"props":2007,"children":2008},{},[2009,2011,2017,2019,2025,2027,2032],{"type":32,"value":2010},"9）接着弹出",{"type":19,"tag":435,"props":2012,"children":2014},{"className":2013},[],[2015],{"type":32,"value":2016},"编辑样式表",{"type":32,"value":2018},"对话框，该对话框中，单击",{"type":19,"tag":435,"props":2020,"children":2022},{"className":2021},[],[2023],{"type":32,"value":2024},"添加资源",{"type":32,"value":2026},"后面的向下箭头，在弹出的菜单中选择",{"type":19,"tag":435,"props":2028,"children":2030},{"className":2029},[],[2031],{"type":32,"value":1042},{"type":32,"value":2033},"，如图所示。",{"type":19,"tag":24,"props":2035,"children":2036},{},[2037],{"type":19,"tag":488,"props":2038,"children":2041},{"alt":2039,"src":2040},"Pasted image 20250827115417","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827115417.png",[],{"type":19,"tag":24,"props":2043,"children":2044},{},[2045,2047,2053,2055,2060],{"type":32,"value":2046},"10）然后弹出",{"type":19,"tag":435,"props":2048,"children":2050},{"className":2049},[],[2051],{"type":32,"value":2052},"选择资源",{"type":32,"value":2054},"对话框，该对话框中选择创建好的资源，单击",{"type":19,"tag":435,"props":2056,"children":2058},{"className":2057},[],[2059],{"type":32,"value":1963},{"type":32,"value":1818},{"type":19,"tag":24,"props":2062,"children":2063},{},[2064],{"type":19,"tag":488,"props":2065,"children":2068},{"alt":2066,"src":2067},"Pasted image 20250827115530","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827115530.png",[],{"type":19,"tag":24,"props":2070,"children":2071},{},[2072,2074,2079,2081,2086],{"type":32,"value":2073},"11）返回",{"type":19,"tag":435,"props":2075,"children":2077},{"className":2076},[],[2078],{"type":32,"value":2016},{"type":32,"value":2080},"对话框，在该对话框中可以看到自动生成的代码，单击",{"type":19,"tag":435,"props":2082,"children":2084},{"className":2083},[],[2085],{"type":32,"value":1963},{"type":32,"value":1937},{"type":19,"tag":24,"props":2088,"children":2089},{},[2090],{"type":19,"tag":488,"props":2091,"children":2094},{"alt":2092,"src":2093},"Pasted image 20250827115613","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827115613.png",[],{"type":19,"tag":24,"props":2096,"children":2097},{},[2098],{"type":32,"value":2099},"12）转换资源文件",{"type":19,"tag":24,"props":2101,"children":2102},{},[2103,2105,2111,2113,2119,2121,2126,2128,2133],{"type":32,"value":2104},"在Qt Designer中设计好窗口（该窗口中使用了",{"type":19,"tag":435,"props":2106,"children":2108},{"className":2107},[],[2109],{"type":32,"value":2110},".qrc",{"type":32,"value":2112},"资源文件）之后，将已经设计好的",{"type":19,"tag":435,"props":2114,"children":2116},{"className":2115},[],[2117],{"type":32,"value":2118},".ui",{"type":32,"value":2120},"文件转换为",{"type":19,"tag":435,"props":2122,"children":2124},{"className":2123},[],[2125],{"type":32,"value":1181},{"type":32,"value":2127},"文件，但是转换后的",{"type":19,"tag":435,"props":2129,"children":2131},{"className":2130},[],[2132],{"type":32,"value":1181},{"type":32,"value":2134},"文件的代码中会显示如图所示的提示信息。",{"type":19,"tag":24,"props":2136,"children":2137},{},[2138],{"type":19,"tag":488,"props":2139,"children":2142},{"alt":2140,"src":2141},"Pasted image 20250827115913","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827115913.png",[],{"type":19,"tag":24,"props":2144,"children":2145},{},[2146,2148,2154,2156,2162,2164,2169],{"type":32,"value":2147},"图中的提示信息说明",{"type":19,"tag":435,"props":2149,"children":2151},{"className":2150},[],[2152],{"type":32,"value":2153},"img_rc",{"type":32,"value":2155},"模块导入出现异常，所以此处需要将已经创建好的",{"type":19,"tag":435,"props":2157,"children":2159},{"className":2158},[],[2160],{"type":32,"value":2161},"img.qrc",{"type":32,"value":2163},"资源文件转换为",{"type":19,"tag":435,"props":2165,"children":2167},{"className":2166},[],[2168],{"type":32,"value":1181},{"type":32,"value":2170},"文件，这样在设计窗口中才可以正常使用，资源文件转换的具体步骤如下：",{"type":19,"tag":2172,"props":2173,"children":2174},"ul",{},[2175],{"type":19,"tag":2176,"props":2177,"children":2178},"li",{},[2179,2181,2188,2190,2196],{"type":32,"value":2180},"在 ",{"type":19,"tag":2182,"props":2183,"children":2185},"a",{"href":2184},"\u002Fblog\u002F2025-07-16-pyqt5-pyqt5",[2186],{"type":32,"value":2187},"PyQt5-环境搭建",{"type":32,"value":2189}," 中已搭建好资源文件转化工具",{"type":19,"tag":435,"props":2191,"children":2193},{"className":2192},[],[2194],{"type":32,"value":2195},"Pyrcc",{"type":32,"value":2197},"，接下来将使用它进行资源文件转化。",{"type":19,"tag":20,"props":2199,"children":2200},{},[2201],{"type":19,"tag":24,"props":2202,"children":2203},{},[2204,2208,2210,2216,2218,2224,2226,2231],{"type":19,"tag":28,"props":2205,"children":2206},{},[2207],{"type":32,"value":1467},{"type":32,"value":2209}," 注意\n选择的",{"type":19,"tag":435,"props":2211,"children":2213},{"className":2212},[],[2214],{"type":32,"value":2215},"pyrcc5.exe",{"type":32,"value":2217},"文件位于Python安装目录下的",{"type":19,"tag":435,"props":2219,"children":2221},{"className":2220},[],[2222],{"type":32,"value":2223},"Scripts",{"type":32,"value":2225},"文件夹中，如果选择当前项目的虚拟环境路径下的",{"type":19,"tag":435,"props":2227,"children":2229},{"className":2228},[],[2230],{"type":32,"value":2215},{"type":32,"value":2232},"文件，有可能会出现无法转换资源文件的问题，所以这里一定要注意。",{"type":19,"tag":2172,"props":2234,"children":2235},{},[2236],{"type":19,"tag":2176,"props":2237,"children":2238},{},[2239,2241,2246,2248,2254,2256,2262,2264,2269,2271,2276,2278,2283],{"type":32,"value":2240},"转换资源文件的快捷工具创建完成以后，单击鼠标左键选中需要转换的",{"type":19,"tag":435,"props":2242,"children":2244},{"className":2243},[],[2245],{"type":32,"value":2110},{"type":32,"value":2247},"文件，然后在菜单栏中依次单击",{"type":19,"tag":435,"props":2249,"children":2251},{"className":2250},[],[2252],{"type":32,"value":2253},"Tools",{"type":32,"value":2255}," → ",{"type":19,"tag":435,"props":2257,"children":2259},{"className":2258},[],[2260],{"type":32,"value":2261},"External Tools",{"type":32,"value":2263}," → ",{"type":19,"tag":435,"props":2265,"children":2267},{"className":2266},[],[2268],{"type":32,"value":2195},{"type":32,"value":2270},"菜单，即可在",{"type":19,"tag":435,"props":2272,"children":2274},{"className":2273},[],[2275],{"type":32,"value":2110},{"type":32,"value":2277},"文件的下面自动生成对应的",{"type":19,"tag":435,"props":2279,"children":2281},{"className":2280},[],[2282],{"type":32,"value":1181},{"type":32,"value":2284},"文件，如图所示。",{"type":19,"tag":24,"props":2286,"children":2287},{},[2288],{"type":19,"tag":488,"props":2289,"children":2292},{"alt":2290,"src":2291},"Pasted image 20250827121213","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827121213.png",[],{"type":19,"tag":2172,"props":2294,"children":2295},{},[2296],{"type":19,"tag":2176,"props":2297,"children":2298},{},[2299,2301,2306,2307,2313],{"type":32,"value":2300},"文件转换完以后，提示的报错信息即可消失，然后添加程序入口，并在其中通过",{"type":19,"tag":435,"props":2302,"children":2304},{"className":2303},[],[2305],{"type":32,"value":481},{"type":32,"value":1356},{"type":19,"tag":435,"props":2308,"children":2310},{"className":2309},[],[2311],{"type":32,"value":2312},"show()函数",{"type":32,"value":2314},"来显示主窗口，运行效果如图。",{"type":19,"tag":24,"props":2316,"children":2317},{},[2318],{"type":19,"tag":488,"props":2319,"children":2322},{"alt":2320,"src":2321},"Pasted image 20250827121454","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827121454.png",[],{"type":19,"tag":37,"props":2324,"children":2326},{"id":2325},"_4控制窗口透明度",[2327],{"type":32,"value":2328},"4  控制窗口透明度",{"type":19,"tag":44,"props":2330,"children":2331},{},[],{"type":19,"tag":24,"props":2333,"children":2334},{},[2335],{"type":32,"value":2336},"窗口透明度是窗口相对于其他界面的透明显示度，默认为不透明，将窗口透明度设置为0.5则可以成为半透明，对比效果如图所示。",{"type":19,"tag":24,"props":2338,"children":2339},{},[2340],{"type":19,"tag":488,"props":2341,"children":2344},{"alt":2342,"src":2343},"Pasted image 20250827135243","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827135243.png",[],{"type":19,"tag":24,"props":2346,"children":2347},{},[2348],{"type":32,"value":2349},"控制窗口透明度的具体操作如下：",{"type":19,"tag":24,"props":2351,"children":2352},{},[2353,2355,2360,2362,2367],{"type":32,"value":2354},"选中窗口，然后在",{"type":19,"tag":435,"props":2356,"children":2358},{"className":2357},[],[2359],{"type":32,"value":440},{"type":32,"value":2361},"中设置",{"type":19,"tag":435,"props":2363,"children":2365},{"className":2364},[],[2366],{"type":32,"value":141},{"type":32,"value":2368},"属性的值即可，如图所示。",{"type":19,"tag":24,"props":2370,"children":2371},{},[2372],{"type":19,"tag":488,"props":2373,"children":2376},{"alt":2374,"src":2375},"Pasted image 20250827135515","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827135515.png",[],{"type":19,"tag":20,"props":2378,"children":2379},{},[2380],{"type":19,"tag":24,"props":2381,"children":2382},{},[2383,2387,2389,2394,2396,2402,2404,2410,2412,2418],{"type":19,"tag":28,"props":2384,"children":2385},{},[2386],{"type":32,"value":651},{"type":32,"value":2388}," 说明\n",{"type":19,"tag":435,"props":2390,"children":2392},{"className":2391},[],[2393],{"type":32,"value":141},{"type":32,"value":2395},"属性的值为",{"type":19,"tag":435,"props":2397,"children":2399},{"className":2398},[],[2400],{"type":32,"value":2401},"0~1",{"type":32,"value":2403},"之间的数，其中，",{"type":19,"tag":435,"props":2405,"children":2407},{"className":2406},[],[2408],{"type":32,"value":2409},"0",{"type":32,"value":2411},"表示完全透明；",{"type":19,"tag":435,"props":2413,"children":2415},{"className":2414},[],[2416],{"type":32,"value":2417},"1",{"type":32,"value":2419},"表示完全不透明。",{"type":19,"tag":24,"props":2421,"children":2422},{},[2423,2425,2431],{"type":32,"value":2424},"在Python代码中使用",{"type":19,"tag":435,"props":2426,"children":2428},{"className":2427},[],[2429],{"type":32,"value":2430},"setWindowOpacity()函数",{"type":32,"value":2432},"也可以设置窗口的透明度，例如，下面的代码将窗口的透明度设置为半透明：",{"type":19,"tag":514,"props":2434,"children":2436},{"code":2435,"language":517,"meta":7,"className":518,"style":7},"MainWindow.setWindowOpacity(0.5)\n",[2437],{"type":19,"tag":435,"props":2438,"children":2439},{"__ignoreMap":7},[2440],{"type":19,"tag":524,"props":2441,"children":2442},{"class":526,"line":527},[2443],{"type":19,"tag":524,"props":2444,"children":2445},{},[2446],{"type":32,"value":2435},{"type":19,"tag":37,"props":2448,"children":2450},{"id":2449},"_5设置窗口样式",[2451],{"type":32,"value":2452},"5  设置窗口样式",{"type":19,"tag":44,"props":2454,"children":2455},{},[],{"type":19,"tag":24,"props":2457,"children":2458},{},[2459,2461,2467],{"type":32,"value":2460},"在PyQt5中，使用",{"type":19,"tag":435,"props":2462,"children":2464},{"className":2463},[],[2465],{"type":32,"value":2466},"setWindowFlags()函数",{"type":32,"value":2468},"设置窗口的样式，该函数的语法如下：",{"type":19,"tag":514,"props":2470,"children":2472},{"code":2471,"language":517,"meta":7,"className":518,"style":7},"setWindowFlags(Qt.WindowFlags)\n",[2473],{"type":19,"tag":435,"props":2474,"children":2475},{"__ignoreMap":7},[2476],{"type":19,"tag":524,"props":2477,"children":2478},{"class":526,"line":527},[2479],{"type":19,"tag":524,"props":2480,"children":2481},{},[2482],{"type":32,"value":2471},{"type":19,"tag":24,"props":2484,"children":2485},{},[2486,2492],{"type":19,"tag":435,"props":2487,"children":2489},{"className":2488},[],[2490],{"type":32,"value":2491},"Qt.WindowFlags",{"type":32,"value":2493},"参数表示要设置的窗口样式，它的取值分为两种类型，分别如下：",{"type":19,"tag":2172,"props":2495,"children":2496},{},[2497],{"type":19,"tag":2176,"props":2498,"children":2499},{},[2500],{"type":32,"value":2501},"PyQt5的基本窗口类型及说明，如表所示。",{"type":19,"tag":48,"props":2503,"children":2504},{},[2505,2526],{"type":19,"tag":52,"props":2506,"children":2507},{},[2508],{"type":19,"tag":56,"props":2509,"children":2510},{},[2511,2519],{"type":19,"tag":60,"props":2512,"children":2513},{"align":62},[2514],{"type":19,"tag":28,"props":2515,"children":2516},{},[2517],{"type":32,"value":2518},"参  数  值",{"type":19,"tag":60,"props":2520,"children":2521},{"align":62},[2522],{"type":19,"tag":28,"props":2523,"children":2524},{},[2525],{"type":32,"value":76},{"type":19,"tag":78,"props":2527,"children":2528},{},[2529,2542,2555,2568,2581,2594,2607],{"type":19,"tag":56,"props":2530,"children":2531},{},[2532,2537],{"type":19,"tag":85,"props":2533,"children":2534},{"align":62},[2535],{"type":32,"value":2536},"Qt.Widget",{"type":19,"tag":85,"props":2538,"children":2539},{"align":62},[2540],{"type":32,"value":2541},"默认窗口，有最大化、最小化和关闭按钮",{"type":19,"tag":56,"props":2543,"children":2544},{},[2545,2550],{"type":19,"tag":85,"props":2546,"children":2547},{"align":62},[2548],{"type":32,"value":2549},"Qt.Window",{"type":19,"tag":85,"props":2551,"children":2552},{"align":62},[2553],{"type":32,"value":2554},"普通窗口，有最大化、最小化和关闭按钮",{"type":19,"tag":56,"props":2556,"children":2557},{},[2558,2563],{"type":19,"tag":85,"props":2559,"children":2560},{"align":62},[2561],{"type":32,"value":2562},"Qt.Dialog",{"type":19,"tag":85,"props":2564,"children":2565},{"align":62},[2566],{"type":32,"value":2567},"对话框窗口，有问号（？）和关闭按钮",{"type":19,"tag":56,"props":2569,"children":2570},{},[2571,2576],{"type":19,"tag":85,"props":2572,"children":2573},{"align":62},[2574],{"type":32,"value":2575},"Qt.Popup",{"type":19,"tag":85,"props":2577,"children":2578},{"align":62},[2579],{"type":32,"value":2580},"无边框的弹出窗口",{"type":19,"tag":56,"props":2582,"children":2583},{},[2584,2589],{"type":19,"tag":85,"props":2585,"children":2586},{"align":62},[2587],{"type":32,"value":2588},"Qt.ToolTip",{"type":19,"tag":85,"props":2590,"children":2591},{"align":62},[2592],{"type":32,"value":2593},"无边框的提示窗口，没有任务栏",{"type":19,"tag":56,"props":2595,"children":2596},{},[2597,2602],{"type":19,"tag":85,"props":2598,"children":2599},{"align":62},[2600],{"type":32,"value":2601},"Qt.SplashScreen",{"type":19,"tag":85,"props":2603,"children":2604},{"align":62},[2605],{"type":32,"value":2606},"无边框的闪屏窗口，没有任务栏",{"type":19,"tag":56,"props":2608,"children":2609},{},[2610,2615],{"type":19,"tag":85,"props":2611,"children":2612},{"align":62},[2613],{"type":32,"value":2614},"Qt.SubWindow",{"type":19,"tag":85,"props":2616,"children":2617},{"align":62},[2618],{"type":32,"value":2619},"子窗口，窗口没有按钮，但有标题",{"type":19,"tag":24,"props":2621,"children":2622},{},[2623,2625,2630],{"type":32,"value":2624},"例如，下面代码用来将名称为",{"type":19,"tag":435,"props":2626,"children":2628},{"className":2627},[],[2629],{"type":32,"value":481},{"type":32,"value":2631},"的窗口设置为一个对话框窗口：",{"type":19,"tag":514,"props":2633,"children":2635},{"code":2634,"language":517,"meta":7,"className":518,"style":7},"# 显示一个有问号（?）和关闭按钮的对话框  \nMainWindow.setWindowFlags(QtCore.Qt.Dialog)\n",[2636],{"type":19,"tag":435,"props":2637,"children":2638},{"__ignoreMap":7},[2639,2647],{"type":19,"tag":524,"props":2640,"children":2641},{"class":526,"line":527},[2642],{"type":19,"tag":524,"props":2643,"children":2644},{},[2645],{"type":32,"value":2646},"# 显示一个有问号（?）和关闭按钮的对话框  \n",{"type":19,"tag":524,"props":2648,"children":2649},{"class":526,"line":755},[2650],{"type":19,"tag":524,"props":2651,"children":2652},{},[2653],{"type":32,"value":2654},"MainWindow.setWindowFlags(QtCore.Qt.Dialog)\n",{"type":19,"tag":2172,"props":2656,"children":2657},{},[2658],{"type":19,"tag":2176,"props":2659,"children":2660},{},[2661],{"type":32,"value":2662},"自定义顶层窗口外观及说明，如表所示。",{"type":19,"tag":48,"props":2664,"children":2665},{},[2666,2686],{"type":19,"tag":52,"props":2667,"children":2668},{},[2669],{"type":19,"tag":56,"props":2670,"children":2671},{},[2672,2679],{"type":19,"tag":60,"props":2673,"children":2674},{"align":62},[2675],{"type":19,"tag":28,"props":2676,"children":2677},{},[2678],{"type":32,"value":2518},{"type":19,"tag":60,"props":2680,"children":2681},{"align":62},[2682],{"type":19,"tag":28,"props":2683,"children":2684},{},[2685],{"type":32,"value":76},{"type":19,"tag":78,"props":2687,"children":2688},{},[2689,2702,2715,2728,2741,2754,2767,2780,2793,2806,2819,2832],{"type":19,"tag":56,"props":2690,"children":2691},{},[2692,2697],{"type":19,"tag":85,"props":2693,"children":2694},{"align":62},[2695],{"type":32,"value":2696},"Qt.MSWindowsFixedSizeDialogHint",{"type":19,"tag":85,"props":2698,"children":2699},{"align":62},[2700],{"type":32,"value":2701},"无法调整大小的窗口",{"type":19,"tag":56,"props":2703,"children":2704},{},[2705,2710],{"type":19,"tag":85,"props":2706,"children":2707},{"align":62},[2708],{"type":32,"value":2709},"Qt.FramelessWindowHint",{"type":19,"tag":85,"props":2711,"children":2712},{"align":62},[2713],{"type":32,"value":2714},"无边框窗口",{"type":19,"tag":56,"props":2716,"children":2717},{},[2718,2723],{"type":19,"tag":85,"props":2719,"children":2720},{"align":62},[2721],{"type":32,"value":2722},"Qt.CustomizeWindowHint",{"type":19,"tag":85,"props":2724,"children":2725},{"align":62},[2726],{"type":32,"value":2727},"有边框但无标题栏和按钮，不能移动和拖动的窗口",{"type":19,"tag":56,"props":2729,"children":2730},{},[2731,2736],{"type":19,"tag":85,"props":2732,"children":2733},{"align":62},[2734],{"type":32,"value":2735},"Qt.WindowTitleHint",{"type":19,"tag":85,"props":2737,"children":2738},{"align":62},[2739],{"type":32,"value":2740},"添加标题栏和一个关闭按钮的窗口",{"type":19,"tag":56,"props":2742,"children":2743},{},[2744,2749],{"type":19,"tag":85,"props":2745,"children":2746},{"align":62},[2747],{"type":32,"value":2748},"Qt.WindowSystemMenuHint",{"type":19,"tag":85,"props":2750,"children":2751},{"align":62},[2752],{"type":32,"value":2753},"添加系统目录和一个关闭按钮的窗口",{"type":19,"tag":56,"props":2755,"children":2756},{},[2757,2762],{"type":19,"tag":85,"props":2758,"children":2759},{"align":62},[2760],{"type":32,"value":2761},"Qt.WindowMaximizeButtonHint",{"type":19,"tag":85,"props":2763,"children":2764},{"align":62},[2765],{"type":32,"value":2766},"激活最大化按钮的窗口",{"type":19,"tag":56,"props":2768,"children":2769},{},[2770,2775],{"type":19,"tag":85,"props":2771,"children":2772},{"align":62},[2773],{"type":32,"value":2774},"Qt.WindowMinimizeButtonHint",{"type":19,"tag":85,"props":2776,"children":2777},{"align":62},[2778],{"type":32,"value":2779},"激活最小化按钮的窗口",{"type":19,"tag":56,"props":2781,"children":2782},{},[2783,2788],{"type":19,"tag":85,"props":2784,"children":2785},{"align":62},[2786],{"type":32,"value":2787},"Qt.WindowMinMaxButtonsHint",{"type":19,"tag":85,"props":2789,"children":2790},{"align":62},[2791],{"type":32,"value":2792},"激活最小化和最大化按钮的窗口",{"type":19,"tag":56,"props":2794,"children":2795},{},[2796,2801],{"type":19,"tag":85,"props":2797,"children":2798},{"align":62},[2799],{"type":32,"value":2800},"Qt.WindowCloseButtonHint",{"type":19,"tag":85,"props":2802,"children":2803},{"align":62},[2804],{"type":32,"value":2805},"添加一个关闭按钮的窗口",{"type":19,"tag":56,"props":2807,"children":2808},{},[2809,2814],{"type":19,"tag":85,"props":2810,"children":2811},{"align":62},[2812],{"type":32,"value":2813},"Qt.WindowContextHelpButtonHint",{"type":19,"tag":85,"props":2815,"children":2816},{"align":62},[2817],{"type":32,"value":2818},"添加像对话框一样的问号（？）和关闭按钮",{"type":19,"tag":56,"props":2820,"children":2821},{},[2822,2827],{"type":19,"tag":85,"props":2823,"children":2824},{"align":62},[2825],{"type":32,"value":2826},"Qt.WindowStaysOnTopHint",{"type":19,"tag":85,"props":2828,"children":2829},{"align":62},[2830],{"type":32,"value":2831},"使窗口始终处于顶层位置",{"type":19,"tag":56,"props":2833,"children":2834},{},[2835,2840],{"type":19,"tag":85,"props":2836,"children":2837},{"align":62},[2838],{"type":32,"value":2839},"Qt.WindowStaysOnBottomHint",{"type":19,"tag":85,"props":2841,"children":2842},{"align":62},[2843],{"type":32,"value":2844},"使窗口始终处于底层位置",{"type":19,"tag":24,"props":2846,"children":2847},{},[2848,2850,2855,2857,2862],{"type":32,"value":2849},"例如，下面代码用来设置名称为",{"type":19,"tag":435,"props":2851,"children":2853},{"className":2852},[],[2854],{"type":32,"value":481},{"type":32,"value":2856},"的窗口",{"type":19,"tag":28,"props":2858,"children":2859},{},[2860],{"type":32,"value":2861},"只有关闭按钮",{"type":32,"value":2863},"，而没有最大化、最小化按钮：",{"type":19,"tag":514,"props":2865,"children":2867},{"code":2866,"language":517,"meta":7,"className":518,"style":7},"MainWindow.setWindowFlags(QtCore.Qt.WindowCloseButtonHint)  # 只显示关闭按钮\n",[2868],{"type":19,"tag":435,"props":2869,"children":2870},{"__ignoreMap":7},[2871],{"type":19,"tag":524,"props":2872,"children":2873},{"class":526,"line":527},[2874],{"type":19,"tag":524,"props":2875,"children":2876},{},[2877],{"type":32,"value":2866},{"type":19,"tag":24,"props":2879,"children":2880},{},[2881],{"type":32,"value":2882},"将窗口设置为对话框窗口和只有关闭按钮的窗口的效果如下图所示。",{"type":19,"tag":24,"props":2884,"children":2885},{},[2886],{"type":19,"tag":488,"props":2887,"children":2890},{"alt":2888,"src":2889},"Pasted image 20250827141328","\u002Fimages\u002Fblog\u002Fpyqt5\u002FPasted%20image%2020250827141328.png",[],{"type":19,"tag":20,"props":2892,"children":2893},{},[2894,2911],{"type":19,"tag":24,"props":2895,"children":2896},{},[2897,2901,2903,2909],{"type":19,"tag":28,"props":2898,"children":2899},{},[2900],{"type":32,"value":1467},{"type":32,"value":2902}," 注意\n对窗口样式的设置，需要在初始化窗体之后才会起作用，即需要将设置窗口样式的代码放在",{"type":19,"tag":435,"props":2904,"children":2906},{"className":2905},[],[2907],{"type":32,"value":2908},"setupUi()函数",{"type":32,"value":2910},"之后执行，例如：",{"type":19,"tag":514,"props":2912,"children":2914},{"code":2913,"language":517,"meta":7,"className":518,"style":7},"MainWindow = QtWidgets.QMainWindow()    # 创建窗体对象  \n",[2915],{"type":19,"tag":435,"props":2916,"children":2917},{"__ignoreMap":7},[2918],{"type":19,"tag":524,"props":2919,"children":2920},{"class":526,"line":527},[2921],{"type":19,"tag":524,"props":2922,"children":2923},{},[2924],{"type":32,"value":2925},"MainWindow = QtWidgets.QMainWindow()    # 创建窗体对象\n",{"type":19,"tag":24,"props":2927,"children":2928},{},[2929,2931,2934,2936,2939],{"type":32,"value":2930},"ui = Ui_MainWindow()            # 创建PyQt设计的窗体对象",{"type":19,"tag":1721,"props":2932,"children":2933},{},[],{"type":32,"value":2935},"\nui.setupUi(MainWindow)          # 调用PyQt窗体的方法对窗体对象进行初始化设置",{"type":19,"tag":1721,"props":2937,"children":2938},{},[],{"type":32,"value":2940},"\nMainWindow.setWindowFlags(QtCore.Qt.WindowCloseButtonHint)# 只显示关闭按钮",{"type":19,"tag":20,"props":2942,"children":2943},{},[2944],{"type":19,"tag":514,"props":2945,"children":2946},{"code":7},[2947],{"type":19,"tag":435,"props":2948,"children":2949},{"__ignoreMap":7},[2950],{"type":32,"value":7},{"type":19,"tag":2952,"props":2953,"children":2954},"style",{},[2955],{"type":32,"value":2956},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":7,"searchDepth":755,"depth":755,"links":2958},[2959,2960,2961,2962,2963,2964],{"id":39,"depth":755,"text":42},{"id":422,"depth":755,"text":425},{"id":782,"depth":755,"text":785},{"id":991,"depth":755,"text":994},{"id":2325,"depth":755,"text":2328},{"id":2449,"depth":755,"text":2452},"markdown","content:blog:2025-07-19-pyqt5-窗口的个性化设置.md","content","blog\u002F2025-07-19-pyqt5-窗口的个性化设置.md","blog\u002F2025-07-19-pyqt5-窗口的个性化设置","md",1780801018191]