pyqt5 python GuiÈëÃÅ½Ì³Ì - ͼÎÄ ÏÂÔØ±¾ÎÄ

pyqt5&python GuiÈëÃŽ̳̣¨1£© µÚÒ»¸ö´°¿Ú£¨1£©

µÚÒ»¸ö´°¿ÚºÍ´úÂëÏêϸעÊÍ£º

from PyQt5 import QtWidgets #´ÓPyQt¿âµ¼ÈëQtWidgetͨÓô°¿ÚÀà class mywindow(QtWidgets.QWidget):

#×Ô¼º½¨Ò»¸ömywindowsÀ࣬ÒÔclass¿ªÍ·£¬mywindowsÊÇ×Ô¼ºµÄÀàÃû£¬ #£¨QtWidgets.QWidget£©ÊǼ̳ÐQtWidgets.QWidgetÀà·½·¨£¬ # ¶¨ÒåÀà»òº¯Êý²»ÒªÍü¼Ç':'·ûºÅ£¬ÅжÏÓï¾äÒ²±ØÐëÒÔ':'½áβ£¡ def __init__(self):

#defÊǶ¨Ò庯Êý£¨Àà·½·¨£©ÁË£¬Í¬ÑùµÚ¶þ¸ö__init__ÊǺ¯ÊýÃû

# (self)ÊÇpyqtÀà·½·¨±ØÐëÒªÓе쬴ú±í×Ô¼º£¬Ï൱ÓÚjava£¬c++ÖеÄthis #Æäʵ__init__ÊÇÎö¹¹º¯Êý£¬Ò²¾ÍÊÇÀà±»´´½¨ºó¾Í»áÔ¤ÏȼÓÔØµÄÏîÄ¿ super(mywindow,self).__init__()

#ÕâÀïÎÒÃÇÒªÖØÔØÒ»ÏÂmywindowsͬʱҲ°üº¬ÁËQtWidgets.QWidgetµÄÔ¤¼ÓÔØÏî

import sys

app = QtWidgets.QApplication(sys.argv) #pyqt´°¿Ú±ØÐëÔÚQApplication·½·¨ÖÐʹÓã¬

#Òª²»È»»á±¨´í QWidget: Must construct a QApplication before a QWidget windows = mywindow()

# Éú³É¹ýÒ»¸öʵÀý£¨¶ÔÏó£©, windowsÊÇʵÀý£¨¶ÔÏ󣩵ÄÃû×Ö£¬¿ÉÒÔËæ±ãÆð£¡ # mywindows£¨£©ÊÇÎÒÃÇÉÏÃæ×Ô¶¨ÒåµÄÀà windows.show()

#ÓÐÁËʵÀý£¬¾ÍµÃÈÃËûÏÔʾÕâÀïµÄshow()ÊÇQWidgetµÄ·½·¨£¬ÓÃÀ´ÏÔʾ´°¿ÚµÄ£¡ sys.exit(app.exec_()) #Æô¶¯Ê¼þÑ­»·

pyqt5&python GuiÈëÃŽ̳̣¨2£© µÚÒ»¸ö´°¿Ú£¨2£©

ÉÏͼÊǵÚһƪ½Ì³Ì£¬ÏÂÃæµÄÏÔʾЧ¹û¶¼Ò»Ñù£¬ÎÒÃÇÀ´¿´¿´ÓÐʲô²»Í¬

1¡¢ÀàµÄÃû×Ö¡¢ÊµÀýµÄÃû×Ö¶¼»»ÁË£¬

2¡¢¶àÁËÒ»¸öif __name__ == \ÒÔ¼°ÏÂÃæµÄ´úÂëËõ½øÁË£¬²ã´Î¸Ä±äÁË

1¡¢ÎÒÃǰѽáβµÄ5¾ä´úÂ룬µ¥¶À½¨Á¢ÁËÒ»¸öº¯Êý 2¡¢È»ºóÖ±½Óµ÷Óú¯Êý

3¡¢×¢ÒâÁ½¸ödefµÄËõ½ø£¬µÚÒ»¸ödefËõ½øÁË´ú±íÊÇÔÚclassÀïÃæ£¬µÚ¶þ¸öºÍclassƽÆë£¬ÔòÊÇÔÚÍâÃæ¡£

¿ÉÒÔ¿´µ½ÏÔʾЧ¹ûÊÇÒ»Ñù£¬ÎÒÃÇÈ´Óкܶà°ì·¨È¥ÊµÏÖ¡£

֪ʶµã£º

1¡¢if __name__ == \ÊÇ´ú±íÈç¹ûÕâ¸öÎļþÊÇÖ÷³ÌÐòÕâÔËÐÐÏÂÃæµÄ´úÂ룬Èç¹ûÊDZ»±ðµÄ³ÌÐòÎļþµ÷Óõϰ£¬ÔòÔËÐÐÏÂÃæµÄ´úÂë¡£

2¡¢__init__ ·½·¨ÔÚÀàµÄÒ»¸ö¶ÔÏó±»½¨Á¢Ê±£¬ÂíÉÏÔËÐС£Õâ¸ö·½·¨¿ÉÒÔÓÃÀ´¶ÔÄãµÄ¶ÔÏó×öһЩÄãÏ£ÍûµÄ ³õʼ»¯ ¡£×¢Ò⣬Õâ¸öÃû³ÆµÄ¿ªÊ¼ºÍ½áβ¶¼ÊÇ˫ϻ®Ïß¡£

3¡¢Éú³ÉʵÀý£¨¶ÔÏ󣩱ØÐëÒÔÀàÃû()£¬±ðÍü¼ÇÁË£¨£©

4¡¢ÀàÖеĺ¯Êý£¨·½·¨£©±ØÐëÓÐself£¬ÊÇ´ú±íÊôÓÚÕâ¸öʵÀý£¨¶ÔÏ󣩱¾Éí³ÖÓе쬶øÍⲿ¶¨ÒåµÄº¯ÊýÔò²»ÐèÒª¡£

Õû¸öÁ÷³Ì£»

Ïȵ¼ÈëPyQt5ÖеÄQtWidgetsͨÓô°¿Ú¿â£¬Í¨¹ý¼Ì³ÐQtWidgets.QWidgetÀ´¶¨Òå×Ô¼ºµÄ´°¿Ú¡£È»ºóÉú³ÉÒ»¸ö¶ÔÏó£¨ÊµÀý»¯£©£¬ÔÙµ÷ÓÃQWidgetµÄshow£¨£©·½·¨À´ÏÔʾÕâ¸ö´°¿Ú¡£

pyqt5&python GuiÈëÃŽ̳̣¨3£© µÚÒ»¸ö´°¿Ú£¨3£©

frist.py Îļþ

second.pyÎļþ

ÕâÊÇÁ½¸öÎļþ£¬µÚÒ»¸öÎļþºÍ֮ǰһÑùÎÒÃÇֻ¼ÈëµÄÉÏ°ë½Ø£¬µÚ¶þ¸öÎļþÎÒÃDZ£ÁôÁËÏÂ°ë½Ø£¬

Ò²¾ÍÊǽ«Ò»¸öÎļþ·Ö³ÉÁ½¸öÎļþ£¬´Ósecond.pyÎļþµ÷ÓÃfrist.pyÀ´ÏÔʾ´°¿ÚµÄÄ¿µÄ¡£

×¢Òâsecond.py Îļþ¼ÓÈëÁËÒ»¾äfrom frist import fristwindows ¼´µ¼Èëfirst.pyµÄfristwindowsÀà

ÊDz»ÊǺÜÊìϤ£¬½«×Ô¼ºµÄÎļþ×÷Ϊ¿âµ¼Èë½øÀ´£¬È»ºóµ÷Óü´¿É£¡

ËäÈ»¶¼ÊÇÏÔʾ´°¿Ú£¬ÎÒÃÇÕâÀïÒѾ­Ñ§Ï°Á˺ܶà°ì·¨À´ÏÔʾËü¡£´úÂëÇø±ðÒ²ÊǺܴ󣬹ؼüÊÇÁé»îÔËÓᣠ֪ʶµã£º

1¡¢¿â£¬Õâ¸öÀý×ÓÊǽ«ÎÒÃÇ×Ô¼ºµÄÎļþ×÷Ϊ¿âµ¼È룬Ҳ¿ÉÒÔ³ÆÎª×Ô¶¨Òå¿â¡£ ×¢Òâ²»ÓÃ.py½á⣬pyqt»á×Ô¶¯Ê¶±ð¡£

2¡¢frist.pyµÄfirstwindowsµÄ´úÂë¾ÍÊÇÏÔʾһ¸ö´°¿ÚÓõ쬵«ÊÇûÓн«ËüʵÀý»¯£¬²¢ÔÚQApplicationÖÐÔËÐС£

ËùÒÔÔËÐÐfrist.pyÊDz»»áÏÔʾÈκδ°¿ÚµÄ¡£

ÎÒÃǽ«ÏÔʾfirstwindowsµÄ·½·¨Ð´ÔÚÁ˵ڶþ¸öÎļþÖУ¬´ïµ½Âß¼­Óë½çÃæ·ÖÀëµÄЧ¹û¡£

3¡¢QApplicationÏ൱ÓÚmainº¯Êý£¬Ò²¾ÍÊÇÕû¸ö³ÌÐò£¨ÓкܶàÎļþ£©µÄÖ÷Èë¿Úº¯Êý¡£

¶ÔÓÚÒ»¸öGui³ÌÐò±ØÐëÖÁÉÙÓÐÒ»¸öÕâÑùµÄÒ»¸öʵÀýÀ´ÈóÌÐòÔËÐС£ 4¡¢×îºóÒ»¾äÊǵ÷ÓÃsys¿âµÄexitÍ˳ö·½·¨£¬Í˳öÌõ¼þ£¨²ÎÊý£©ÊÇapp.exec_()Ò²¾ÍÊÇÕû¸ö´°¿Ú¹Ø±Õ¡£

ÆäʵÈëÃÅûʲôÄѶȣ¬Ö»ÊǶÔһЩ»ù±¾¸ÅÄîµÄÕÆÎÕºÍÁ˽⣬±¾ÈËÒ²ÊDzËÄñ£¬Ð´µÄ²»ÊǺܺã¬Ö»ÊÇÏ£ÍûÄܺ͸ü¶àÓÐÐËȤ°®ºÃµÄÐÂÊÖÒ»Æð½»Á÷ѧϰ¡£

PyQt5&python GuiÈëÃŽ̳̣¨4£© ³õ̽Qt Designer Éè¼ÆÊ¦

ÍøÉϺܶà½Ì³Ì¶¼ÊÇ´úÂ룬¶ÔÓÚÐÂÊÖ¿´ÆðÀ´¾ÍºÜÍ·ÌÛ£¬pyqtͬÑùΪÎÒÃÇÌṩÁËQt designerÀ´Éè¼Æ´°¿Ú½çÃæ£¬

ÓÃÆðÀ´Ò²·Ç³£·½±ã£¬¶ÔÓÚÐÂÊÖÎÒÃÇÓ¦¸ÃÉÆÓÃËü£¬ËäÈ»×ö³öÀ´µÄ½çÃæ²»ÄÇô»ªÀö£¬µ«ÖÁÉÙ¿ÉÒÔ×ö³ö¸öÏñÑùµÄ´°¿ÚÀ´¡£

´ò¿ªPyQt5µÄQt Designer£¬»á×Ô¶¯µ¯³öн¨´°Ìå¶Ô»°¿ò£¬

¶ÔÓÚÎÒÃÇ×î³£ÓõľÍÊÇWidgetͨÓô°¿ÚÀ࣬»¹ÓиöMainWindows¹ËÃû˼ÒåÖ÷´°¿Ú¡£

PyQt5µÄWidget±»·ÖÀë³öÀ´£¬ËƺõÓÃÀ´Ìæ´úDialog£¬²¢½«Widget·ÅÈëÁËQtWidgetÄ£¿é£¨¿â£©ÖУ¬PyQt4ÊÇQtGUI¡£

ÕâÊÇÒ»¸öWidgetºÍMainWindows£¬´Ó½çÃæÉÏ¿´ÆðÀ´Ã»ÓÐʲô£¬Ö»ÊÇMainWindowsĬÈÏÌí¼ÓÁ˲˵¥À¸¡¢¹¤¾ßÀ¸ºÍ״̬À¸µÈ¡£

ĬÈÏ×ó±ßÊǿؼþÀ¸£¬ÌṩÁ˺ܶà¿Õ¼äÀ࣬ÎÒÃÇ¿ÉÒÔÖ±½ÓÍϷŵ½widgetÖп´µ½Ð§¹û£¬µã´°Ìå--Ô¤ÀÀ£¨Ctrl+R£©

ÿ¸ö¿Õ¼ä¶¼ÓÐ×Ô¼ºµÄÃû³Æ£¬Ìṩ²»Í¬µÄ¹¦ÄÜ£¬±ÈÈç³£Óõİ´Å¥¡¢ÊäÈë¿ò¡¢µ¥Ñ¡¡¢Îı¾¿òµÈµÈ£¬

ÓÒ±ßÊǶԴ°¿Ú¼°¿Ø¼þµÄ¸÷ÖÖµ÷Õû¡¢ÉèÖá¢Ìí¼Ó×ÊÔ´£¨ÁÐÈç:ͼƬ£©¡¢¶¯×÷¡£ »¹¿ÉÒÔÖ±½Ó±à¼­QtÒýÒÔΪºÀµÄÐźŲۣ¨signalºÍslot£©¡£

ÓÐÁËQt DesignerʹµÃÎÒÃÇÔÚ³ÌÐòÉè¼ÆÖиü¿ìµÄÄÜ¿ª·¢Éè¼Æ³ö³ÌÐò½çÃæ£¬±ÜÃâÁËÓô¿´úÂëÀ´Ð´Ò»¸ö´°¿ÚµÄ·±Ëö£¬

ͬʱPyQtÖ§³Ö½çÃæÓëÂß¼­·ÖÀ룬Õâ¶ÔÓÚÐÂÊÖÀ´ËµÎÞÒÉÊǸö×î´óµÄ¸£Òô£¬µ±È»Òª×ö³ö»ªÀöµÄ½çÃæ»¹ÊÇҪѧ´úÂëµÄ¡£

ÖÁÉÙQt DesignerΪÎÒÃÇÌṩÁËһЩ½â¾ö·½·¨£¬ÁíÍâÎÒÃÇÒ²¿ÉÒÔͨ¹ýQt DesignerÉú³ÉµÄ´úÂëÀ´Ñ§Ï°Ò»Ð©´°¿Ú¿Ø¼þµÄÓ÷¨¡£

PyQt5&python GuiÈëÃŽ̳̣¨5£©Qt Designer´°¿Ú²¼¾ÖLayouts£¨1£©

Qt Designer´°¿Ú²¼¾ÖLayoutsÌṩÁËËÄÖÖ²¼¾Ö·½·¨£¬ËûÃÇÊÇ£º Vertical Layout ×ÝÏò²¼¾Ö Horizontal Layout ºáÏò²¼¾Ö Grid Layout Õ¤¸ñ²¼¾Ö Form Layout ÔÚ´°Ìå²¼¾ÖÖв¼¾Ö

ǰÈýÖÖÊÇÎÒÃǾ­³£»áÓõ½µÄ£¬ÎÒÃǽ«²¼¾ÖLayoutsÍ϶¯µ½´°ÌåÉÏ»áÓкìÉ«¿òÀ´ÏÔʾ£¬

LayoutµÄһЩÊôÐÔ¿ÉÒÔͨ¹ýÊôÐԱ༭Æ÷À´¿ØÖÆ£¬Ò»°ã°üÀ¨£º ÉÏÏÂ×óÓұ߾à¼ä¸ô£¬¿Õ¼äÖ®¼ä¼ä¸ôµÈ¡£

ÔÚÎÒÃÇʹÓò¼¾Ö֮ǰ£¬ÎÒÃǵöԲã´ÎÒªÓиöÁ˽⣬ÔÚ³ÌÐòÉè¼ÆÖÐÒ»°ãÓø¸×Ó¹ØÏµÀ´±íʾ¡£

µ±È»ÓйýÆ½ÃæÉè¼Æ¾­ÑéµÄͯЬ¶Ô·Ö²ãÓ¦¸ÃÓÐËùÁ˽⣬ÕâÀïÎÒÃÇ»¹ÐèÒª½«²ã·Ö³É²ã´Î¡£

Æäʵ¾ÍÏñpythonÖй涨µÄ´úÂëËõ½øÁ¿´ú±í²»Í¬²ã´ÎµÄµÀÀí²î²»¶à¡£

´Ó¶ÔÏó²é¿´Æ÷ÖÐÎÒÃÇ¿ÉÒÔ·½±ãµÄ¿´³ö´°Ì壨Form£©--²¼¾Ö£¨Layout£©--¿Ø¼þ£¨ÕâÀïÊÇPushButton°´Å¥£©Ö®¼äµÄ²ã´Î¹ØÏµ¡£

Form´°¿ÚÒ»°ã×÷Ϊ¶¥²ãÏÔʾ£¬È»ºóʹÓÃLayout½«¿Ø¼þ°´ÕÕÎÒÃÇÏëÒªµÄ·½Ê½¹æ»®¿ªÀ´¡£

ÕâÀïҪעÒâһϣ¬Qt DesignerÉè¼Æ³öÀ´µÄÎļþĬÈÏΪuiÎļþ£¬ÀïÃæ°üº¬µÄÀàcss²¼¾ÖÉè¼ÆÓïÑÔ£¬

Èç¹ûÏëÒª²é¿´´úÂëÎÒÃÇ»¹ÐèÒª½«Ëüת»»£¨±àÒ룩³ÉpyÎļþ£¬ÎÒÃÇ¿ÉÒÔʹÓÃÒ»ÌõDOSÃüÁîÀ´Íê³É

D:\\Python33\\Lib\\site-packages\\PyQt5\\pyuic5.bat mian.ui -o frist.py ¸üʵÓõÄת»»ÃüÁî¿ÉÒÔ½«µ±Ç°Îļþ¼ÐÏÂËùÓÐuiת»»³ÉpyÎļþ£º

for /f \

D:\\Python33\\Lib\\site-packages\\PyQt5\\pyuic5.bat %%i -o %%i.py PyQtÖ§³ÖÓÃLoadUi·½·¨Ö±½Ó¼ÓÔØuiÎļþ£¬µ±È»ÎÒÃÇͨ¹ýת»»ºó¿ÉÒÔ·½±ãѧϰPyQt´°Ìå¿Ø¼þµÄÔ´´úÂë¡£

ÏÂһƪÎÒÃÇÀ´·ÖÎöÒ»ÏÂQt Designer²¼¾ÖµÄÔ´´úÂë

PyQt5&python GuiÈëÃŽ̳̣¨6£©Qt Designer´°¿Ú²¼¾ÖLayouts£¨2£©

Ê×ÏÈÎÒÃÇÀ´¿´Ò»Ï£¬ÎÒÃÇ´´½¨Ò»¸ö¿Õ°×Widget´°Ì壬Qt Designer¶¼ÎªÎÒÃÇ×öÁËЩʲô£¿

àÅ£¬±ÈÎÒÃǵÚÒ»¸ö´°Ì壬¶àÁËÄÇô¼¸ÐдúÂ룬ĬÈÏת»»ºóµÄpyÎļþ»¹²»ÄÜÖ±½ÓÏÔʾ³öЧ¹û£¬ÏÂÃæÎÒÃÇÂýÂýѧϰ¡£

ÕâÀïÎÒÃÇÖ»¼ÓÈëÒ»¸öÕ¤¸ñ²¼¾Ö£¬È»ºó......Qt Designer¾ÓÈ»¸øÎÒÃǶàÁË6ÐдúÂë

ÆäʵQt DesignerÉú³ÉµÄ´úÂ루±àÒëºó£©»¹ÊǷdz£¸øÁ¦µÄ£¬ÖÁÉÙ±ÈÎÒÃÇ×Ô¼ºÐ´µÄ¹æ·¶¶àÁË¡£

ÕâЩ´úÂë»òÐí²»ÐèÒªÎÒÃÇ×Ô¼ºÐ´£¬µ«ÖÁÉÙÎÒÃÇÄÜ¿´µÃÃ÷°×¡£ ÆäÖÐ×îÖ÷ÒªµÄÁ½¾ä´úÂëÊÇ£º

self.gridLayoutWidget = QtWidgets.QWidget(Form)

self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget)

´ÓQt DesignerÖпÉÒÔ¿´µ½Õ¤¸ñ²¼¾ÖĬÈÏ´´½¨ÁËÁ½¸ö¶ÔÏó£¬QtWidgets.QWidgetºÍQtWidgets.QGridLayout¡£

×¢Òâ(Form)ºÍ(self.gridLayoutWidget)²ÎÊý£¬ÕâÀï¿ÉÒÔÀí½âΪ·ÅÖõ½ÏàÓ¦µÄ¶ÔÏóÀïÃæ¡£

Qt Designer¹ûÈ»×öµÄ±ÈÎÒÃÇÏëÏëµÄ¶à£¬ÏÂÃæÎÒÃÇÔÙͨ¹ý¼ò»¯ºóµÄ´úÂëÀ´¶Ô±Èһϣ¬¿ÉÄܸúÈÝÒ×Àí½âһЩ¡£

×¢Òâ:Qt DesignerÊ×ÏÈ»á¼ûÕ¤¸ñ²¼¾Ö×÷Ϊһ¸öwidget·ÅÈë´°Ì壬²¢ÇÒ²»Ó°Ïì´°Ìå´óС¡£

Õ¤¸ñ²¼¾ÖÒ»°ã×÷Ϊ¶¥²ã²¼¾ÖʹÓã¬ËùÒÔ¼ò»¯ºóµÄ´úÂëÓиöself.setLayout£¨self.gridLayout£©

ͬʱQt Designer»á¼ÓÈëһЩ»ù±¾ÉèÖã¬Ä¬ÈÏÐźŲÛÉùÃ÷£¬¹ú¼Ê»¯ÓïÑÔÖ§³ÖµÈµÈ£¬È·Êµ±ÈÎÒÃÇ×Ô¼ºÐ´µÄÒªºÃµÄ¶à¡£ µ±È»ÎÒÃÇÐèÒªÁ˽âÆäÖеİÂÃØ¡£

×ó±ßÊÇQt DesignerÉè¼ÆÐ§¹û£¬ÓÒ±ßÊÇÏÔʾЧ¹û¡£

ÔÙÀ´¸öÉÔ΢¸´ÔÓµãµÄ ֪ʶµã£º

¼ÇµÃÔÚQt DesignerÖд°ÌåµÄlayout²ã´Î¿ÉÒÔͨ¹ý¶ÔÏó²é¿´Æ÷À´²é¿´£¬layoutµÄһЩÉèÖÿÉÒÔͨ¹ýÊôÐԱ༭Æ÷À´Ð޸á£

ͨ³£ÎÒÃÇʹÓÃÕ¤¸ñ²¼¾Ö×÷Ϊ¶¥²ã²¼¾Ö£¬½«¿Ø¼þ·ÅÖúÃÖ®ºó¿ÉÒÔͨ¹ýÓÒ¼ü--²¼¾Ö--Õ¤¸ñ²¼¾Ö£¬½«²¼¾Ö³äÂúÕû¸ö´°Ìå¡£

ÎÒÃÇ¿ÉÒÔÏÈ·ÅÈë¿Ø¼þ£¬È»ºóctrlÑ¡Öжà¸ö¿Ø¼þ£¬È»ºóµã»÷¹¤¾ßÀ¸ÉÏ¿ìËÙ²¼¾Ö¹¤¾ß½øÐв¼¾Ö¡£

ÔÚmianwindowsÖÐĬÈÏ»áÓиöcentralwidget²¼¾ÖÒ²ÊǼ̳Ð×ÔQtWidgets.QWidget£¬±íʾ´°¿ÚµÄÖÐÑ벿·Ö¡£ ÔÚ½ÓÏÂÀ´µÄ½Ì³ÌÄã»á¿´µ½mianwindowsµÄʹÓü¼ÇÉ¡£

PyQt5&python GuiÈëÃŽ̳̣¨7£©Qt Designer¿Ø¼þµÄһЩͨÓÃÊôÐÔ

ÔÚQt DesignerÖеÄÓÒ±ßΪÎÒÃÇÌṩÁË´°Ìå¡¢¿Ø¼þ¡¢²¼¾ÖµÄÊôÐԱ༭¹¦ÄÜ¡£ ±È½Ï³£ÓõÄÓÐ:

objectName ¿Ø¼þ¶ÔÏóÃû³Æ Àý£ºanniu = QtWidgets.QPushButton() µÈºÅÇ°ÃæµÄÄǸöÃû×Ö

geometry Ïà¶Ô×ø±êϵ

sizePolicy ¿Ø¼þ´óС²ßÂÔ minimumSize×îС¿í¶È¡¢¸ß¶È

maximumSize×î´ó¿í¶È¡¢¸ß¶È Èç¹ûÏëÈô°Ìå»ò¿Ø¼þ¹Ì¶¨´óС£¬¿ÉÒÔ½«miniºÍmaxÕâÁ½¸öÊôÐÔÉèÖóÉÒ»ÑùµÄÊýÖµ font ×ÖÌå cursor ¹â±ê

windowTitle ´°Ìå±êÌâ

windowsIcon / icon ´°Ìåͼ±ê/¿Ø¼þͼ±ê iconSize ͼ±ê´óС toolTip ÌáʾÐÅÏ¢ statusTip ÈÎÎñÀ¸ÌáʾÐÅÏ¢ text ¿Ø¼þÎÄ×Ö shortcut ¿ì½Ý¼ü

PyQt5&python GuiÈëÃŽ̳̣¨8£©Qt Designer½çÃæÓëÂß¼­·ÖÀë

ÕâÊÇÉÏһƪÎÄÕÂÖÐÓÃQt DesignerÉè¼Æ±àÒëºóÉú³ÉµÄ´úÂ룬µ«ÊÇÏëÒªÈÃËüÏÔʾ³öÀ´£¬»¹Êǵ÷ѵ㹦·ò£¬

¶ÔÓÚÐÂÊÖÀ´Ëµ¾­³£»áÅö±Ú£¬ÎÒÒ²ÊÇÕÛÌÚÁ˺ó¤Ê±¼ä²ÅÃ÷°×£¬Ô­À´»¹Òª×öÒ»ÏÂһЩÊÂÇé¡£

ÕâÊÇÏÔʾЧ¹û¡£

Èç¹ûÎÒÃÇÔÚµ¥¸öÎļþµ±ÖÐÏÔʾ£¬»¹ÐèÒªÔÚ½áβ¼ÓÈëÒÔÉÏ´úÂë¡£ ÒòΪQt DesignerĬÈϼ̳еÄobjectÀ࣬²»Ìṩshow()ÏÔʾ·½·¨£¬

ËùÒÔÎÒÃÇÉú³ÉÒ»¸öQWidget¶ÔÏóÀ´ÖØÔØÎÒÃÇÉè¼ÆµÄUi_FormÀ࣬´ïµ½ÏÔʾЧ¹û¡£

ÔÚʵ¼Ê¹¤×÷ÖУ¬ÎÒÃÇÏ£Íû½çÃæºÍ´úÂë·ÖÀ룬¶ø·ÀÖ¹ÆÆ»µQt Designer±àÒëÉú³ÉµÄ´úÂ룬

ÎÒÃÇ¿ÉÒÔÕâÑù×ö£º

н¨Ò»¸öÎļþ£¬µ¼ÈëÎÒÃÇÉè¼ÆµÄmyDesigner.pyÎļþ£¬È»ºóÏÂÃæµÄ´úÂëÏàͬ¼´¿É¡£ µ«ÊÇÕâÊÇÔÚmian·½·¨Öе÷Óô°¿Ú£¬Ò²²»·ûºÏÎÒÃǵÄʵ¼Ê¹¤×÷ÖеÄÒªÇó¡£ ÎÒÃÇ»¹¿ÉÒÔÕâÑù¸ã£º

ĬÈϵÄQt DesignerÉú³ÉµÄ´úÂëÊǼ̳ÐobjectÀ࣬ËùÒÔĬÈϱàÒëÉú³ÉµÄÎļþ²»ÄÜÏÔʾ¡£

ͨ¹ý²»Í¬µÄ·½·¨£¬¿ÉÒÔÖªµÀÎÒÃÇÐèÒª¼Ì³Ð»òÖØÔØQWidgetÕâ¸öÀ࣬À´Ê¹ÓÃÆäÖеÄshow·½·¨Ê¹´°¿ÚÏÔʾ¡£

ÕâÒ²¾ÍÊÇ´«ËµÖеĽçÃæÓë´úÂë·ÖÀ룬ÆäʵҲûÓÐÏëÏóÖеÄÄÇôÄÑ¡£

ÎÒÃÇ»¹¿ÉÒÔͨ¹ýͬʱ¼Ì³ÐQWidgetºÍÎÒÃÇÉè¼ÆµÄUi_FormÀàÀ´¼ò»¯´úÂ룬Õâ¾ÍÊÇ´«ËµÖеĶà̬£¿

֮ǰÎÒÃǼû¹ý£¬__init__ÊÇÎö¹¹º¯Êý£¬Ò²¾ÍÊÇÀ౻ʵÀý»¯£¨Éú³É¶ÔÏó£©Ö®ºóĬÈϼÓÔØµÄÄÚÈÝ¡£

super().__init__()³¬¼¶¼ÓÔØ£¬Ò²¾ÍÊÇÎÒÃÇÐèҪͬʱ¼ÓÔØQWidgetÖеÄÄÚÈݹ©ÎÒÃÇʹÓá£

self.setupUi(self) selfÊÇÖ¸×Ô¼º£¬setupUiÒ²¾ÍÊÇUi_FormÖеķ½·¨¡£ »¹¼ÇµÃ֮ǰ˵µÄ £ºÊµÀý.·½·¨(²ÎÊý) selfÔÚʵÀýÊÇ´ú±í×Ô¼ºÕâ¸öÀà myshow ÊÇʵÀý£¬mydesignershow()ÊÇÀ࣬ÓÃ=´ú±í´´½¨Ò»¸öʵÀý¶ÔÏó¡£ myshow.show() È»ºóµ÷ÓöÔÏóÖеķ½·¨£¬Ï൱ÓÚµ÷ÓÃÀàÀïÃæµÄº¯Êý¡£

PyQt5&python GuiÈëÃŽ̳̣¨9£©Qt Designer ³õ̽ÐźŲÛ

ÐźÅÓë²Û×÷ΪQT µÄºËÐÄ»úÖÆ£¬ÍùÍù¸øÐÂÊÖ´øÀ´ºÜ¶àÀ§ÈÅ£¬ÕâÒ²²»ÊÇÒ»ÌìÁ½ÌìÄܸ㶮ѧ͸µÄ¶«Î÷£¬

ÎÒÃǵÄ×ÚÖ¼ÊÇÒª»áÓ㬾ÍËãÊǼòµ¥µÄÔËÓðɣ¬Ñ§ÒÔÖÂÓòÅÊÇÕýµÀ£¬Ò²ÊDz×É£°¡£¡

ÏÈÈëһЩÐźŲ۵Ļù±¾½éÉÜ£º

ÐźźͲÛÊÇÒ»Öָ߼¶½Ó¿Ú£¬Ó¦ÓÃÓÚ¶ÔÏóÖ®¼äµÄͨÐÅ£¬ËüÊÇ QT µÄºËÐÄÌØÐÔ£¬Ò²ÊÇ QT Çø±ðÓÚÆäËü¹¤¾ß°üµÄÖØÒªµØ·½¡£ËüΪ¸ß²ã´ÎµÄʼþ´¦Àí×Ô¶¯Éú³ÉËùÐèÒªµÄ¸½¼Ó´úÂë¡£ÔÚÎÒÃÇËùÊìÖªµÄºÜ¶à GUI ¹¤¾ß°üÖУ¬´°¿ÚС²¿¼þ (widget) ¶¼ÓÐÒ»¸ö»Øµ÷º¯ÊýÓÃÓÚÏìÓ¦ËüÃÇÄÜ´¥·¢µÄÿ¸ö¶¯×÷£¬Õâ¸ö»Øµ÷º¯Êýͨ³£ÊÇÒ»¸öÖ¸Ïòij¸öº¯ÊýµÄÖ¸Õë¡£µ«ÊÇ£¬ÔÚ QT ÖÐÐźźͲÛÈ¡´úÁËÕâЩÁèÂҵĺ¯ÊýÖ¸Õ룬ʹµÃÎÒÃDZàдÕâЩͨÐųÌÐò¸üΪ¼ò½àÃ÷ÁË¡£

ËùÓÐ´Ó QObject »òÆä×ÓÀà ( ÀýÈç Qwidget) ÅÉÉúµÄÀà¶¼Äܹ»°üº¬ÐźźͲۡ£µ±¶ÔÏó¸Ä±äÆä״̬ʱ£¬ÐźžÍÓɸöÔÏó·¢Éä (emit) ³öÈ¥£¬Õâ¾ÍÊǶÔÏóËùÒª×öµÄÈ«²¿ÊÂÇ飬Ëü²»ÖªµÀÁíÒ»¶ËÊÇË­ÔÚ½ÓÊÕÕâ¸öÐźš£Õâ¾ÍÊÇÕæÕýµÄÐÅÏ¢·â×°£¬ËüÈ·±£¶ÔÏó±»µ±×÷Ò»¸öÕæÕýµÄÈí¼þ×é¼þÀ´Ê¹ÓᣲÛÓÃÓÚ½ÓÊÕÐźţ¬µ«ËüÃÇÊÇÆÕͨµÄ¶ÔÏó³ÉÔ±º¯Êý¡£Ò»¸ö²Û²¢²»ÖªµÀÊÇ·ñÓÐÈκÎÐźÅÓë×Ô¼ºÏàÁ¬½Ó¡£¶øÇÒ£¬¶ÔÏó²¢²»Á˽â¾ßÌåµÄͨÐÅ»úÖÆ¡£

Äã¿ÉÒÔ½«ºÜ¶àÐźÅÓëµ¥¸öµÄ²Û½øÐÐÁ¬½Ó£¬Ò²¿ÉÒÔ½«µ¥¸öµÄÐźÅÓëºÜ¶àµÄ²Û½øÐÐÁ¬½Ó£¬ÉõÖÁÓÚ½«Ò»¸öÐźÅÓëÁíÍâÒ»¸öÐźÅÏàÁ¬½ÓÒ²ÊÇ¿ÉÄܵģ¬ÕâʱÎÞÂÛµÚÒ»¸öÐźÅʲôʱºò·¢Éäϵͳ¶¼½«Á¢¿Ì·¢ÉäµÚ¶þ¸öÐźš£×ÜÖ®£¬ÐźÅÓë²Û¹¹ÔìÁËÒ»¸öÇ¿´óµÄ²¿¼þ±à³Ì»úÖÆ¡£

˵ʵ»°¶ÔÓÚÏñÎÒÕâÑùµÄÐÂÊÖÀ´Ëµ¿´×ž͵°ÌÛ£¬Ïëѧ»áËüû°ì·¨£¬ÎÒÃÇ»¹ÊǼò»¯Ò»Ï¸ÅÄî°É£º

ËùÓÐQObjectÀà¶¼¿ÉÒÔʹÓÃÐźŲۣ¬»»¾ä»°À´Ëµ¼Ì³Ð×ÔpyqtÖеÄÀà»ù±¾É϶¼¿ÉÒÔʹÓÃÐźŲۻúÖÆ¡£µ±È»·ÇQObjectÒ²ÊÇ¿ÉÒÔͨ¹ýÆäËûһЩ°ì·¨À´Ê¹ÓÃÐźŲ۵ġ£

½ö½öÓÐÁËÐźźͲÛÊDz»Ðеģ¬ÎÒÃÇ»¹ÐèÒªÁ˽⣺

ÐźÅ(Signal)¡¢²Û(slot)¡¢Á¬½Ó(connect)¡¢¶¯×÷ʼþ(action)¡¢·¢Éä(emit)¡¢·¢ËÍÕß¡¢½ÓÊÜÕߵȵÈһЩÁеÄ֪ʶ¡£

ºÃ°É£¬±ð¸ãµÄÄÇô¸´ÔÓÐв»ÐУ¬ÎÒÃÇ»¹ÊÇѧѧ¸ÃÔõôÓðɡ£

ÔÚQt DesignerÖÐΪÎÒÃÇÌṩÁËһЩ»ù±¾µÄÐźŲ۷½·¨£¬ÎÒÃÇÀ´¿´¿´£º

µã»÷¹¤¾ßÀ¸Éϵġ°±à¼­ÐźÅ/²Û¡±£¬½øÈëÐźŲ۱༭ģʽ£¬

ÎÒÃÇ¿ÉÒÔÖ±½ÓÔÚ·¢ËÍÕߣ¨button£©Éϰ´×¡²»·ÅÍ϶¯µ½½ÓÊÕÕߣ¨Form´°Ì壩ÉϼȿÉÒÔ½¨Á¢Á¬½Ó¡£

È»ºó»áµ¯³öÐźŲ۵ÄÅäÖÃÁ¬½Ó¡£

×ó±ßÊÇ·¢ËÍÕߣ¨°´Å¥£©µÄÐźţ¨¶¯×÷ʼþ£©£¬ÓÒ±ßÊǽÓÊÕÕߣ¨´°Ì壩µÄ²Û£¨¶¯×÷ʼþ£©

ÎÒÃÇ¿´Ò»Ï±àÒëºóÉú³ÉµÄ´úÂ룺

pushButton.clicked.connect(Form.close) ¼òµ¥½âÊ;ÍÊÇ£ºµ±°´Å¥µã»÷Ö®ºó¹Ø±Õ´°Ìå¡£ ʵ¼ÊÈ´ÊÇ£º°´Å¥.µã»÷.Á´½Ó(´°Ìå.¹Ø±Õ)

ÆäʵӦ¸ÃÊÇ£º°´Å¥Õâ¸ö·¢ËÍÕߣ¬µ±°´Å¥¡°µã»÷¡±Õâ¸öʱ¼ä·¢ÉúÖ®ºó»á·¢ËÍÒ»¸öÐźųöÈ¥£¬Í¨¹ýÕâ¶Î´úÂë³ÌÐòÄÚ²¿µÄͨѶ»úÖÆÖªµÀÕâ¸ö°´Å¥µÄµã»÷ÊÂÇé±»Á¬½Óµ½´°ÌåµÄ¹Ø±ÕʼþÉÏÈ¥ÁË£¬È»ºó֪ͨ½ÓÊÜÕß´°Ì壬Äã¸ÃÔËÐвۺ¯ÊýcloseÁË£¡ ¼òµ¥Àí½â£º±ÈÈçÎÒдÁË·âПøÄ㣬Ë͵½Óʾ֣¬ÓʾÖͨ¹ýµØÖ·£¬×ª½»¸øÄã¡£ËùÒÔÒ»¸ö²Û²¢²»ÖªµÀÊÇ·ñÓÐÈκÎÐźÅÓë×Ô¼ºÏàÁ¬½Ó¡£¶øÇÒ£¬¶ÔÏó²¢²»Á˽â¾ßÌåµÄͨÐÅ»úÖÆ¡£

ÆäʵÒÔÉÏÖ»ÊǸöÈ˵ÄdzÏÔÀí½â£¬¾ßÌåµÄͨÐÅ»úÖÆ»¹ÊǷdz£¸´Ôӵģ¬ÏëÏóÒ»ÏÂÓʾֵŤ×÷¾ÍÖªµÀÀ²¡£

ÎÒÃÇÔÙÀ´¿´¿´Ò»Ð©¾ßÌåµÄ´úÂ룺

self.pushButton.clicked.connect(Form.close) °´Å¥µã»÷Á¬½Óµ½´°¿Ú¹Ø±Õ

self.pushButton.clicked.connect(self.pushButton_2.hide) °´Å¥µã»÷Á¬½Óµ½°´Å¥_2Òþ²Ø

self.pushButton.destroyed.connect(self.pushButton_2.close)

°´Å¥Ïú»ÙÁ¬½Óµ½°´Å¥_2¹Ø±Õ

self.pushButton.released.connect(Form.update) °´Å¥ÖØÔØÁ¬½Óµ½´°¿Ú¸üÐÂ

ÄÇôÎÒÃÇÔõôÄÜÖ´ÐÐ×Ô¼ºµÄ¡°²Û¡±ÄØ£¿

ͨ¹ý֮ǰѧϰµÄ·½·¨£¬ÎÒÃǼ̳ÐÁËUi_Form£¬È»ºó½«°´Å¥1ºÍ°´Å¥2¶¼Á¬½Óµ½prnº¯ÊýÉÏ£¬²âÊÔOK¡£

¶ÔÓÚ³õѧÕßÏëÒª¼òµ¥Ê¹ÓÃÐźŲ۵ĻúÖÆ£¬Æäʵ²¢²»ÄÑ£¬µ±È»ÆäÖÐÒ²Óв»ÉÙ¿Ó£¬»¹ÊǶà¶à²âÊÔΪÃ ֪ʶµã£º

ÔÚPyQtÖнÓÊÜÕߺͷ¢ËÍÕß±ØÐëÊǸö¶ÔÏó£¨ÊµÀý£©£¡

PyQtÖеĿؼþÖÐÌṩÁ˺ܶàÐźźͲ۷½·¨£¬´ó¼Ò¿ÉÒÔ¶à¶àʹÓÃQt Designer Éè¼Æ²Î¿¼£¡

²ÛÆäʵ¾Í¸öº¯Êý£¨·½·¨£©£¬Qt5ÖеIJۺ¯Êý²»ÔÚÏÞ¶¨±ØÐëÊÇslot£¬¿ÉÒÔÊÇÆÕͨµÄº¯Êý¡¢ÀàµÄÆÕͨ³ÉÔ±º¯Êý¡¢lambdaº¯ÊýµÈ¡£±àÒëÆÚ¼ä¾Í»á¼ì²éÐźÅÓë²ÛÊÇ·ñ´æÔÚ£¡

ÐźŵÄconnectÁ¬½Ó×îºÃ·ÅÔÚ__init__Îö¹¹º¯ÊýÀïÃæ£¬ÕâÑùÖ»»áÉùÃ÷Ò»´ÎÁ¬½Ó£¬Èç¹ûÔÚÀà·½·¨£¨º¯ÊýÖУ©Ê¹Óõϰ£¬Òª¼ÇµÃdisconnect£¬·ñÔòconnect»áÁ¬½Ó¶à´Î£¬µ¼Ö³ÌÐòÒì³£¡£

ÐźŲۺ¯Êý²»ÓÃ¼Ó ()£¬·ñÔò¿ÉÄܻᵼÖÂÁ¬½ÓÒì³£¡£

PyQt5&python GuiÈëÃŽ̳̣¨10£©Qt Designer ÒåÐźÅemit¼°´«²Î

×Ô¶¨ÉÏÃæµÄ´úÂë¼òµ¥µÄ×Ô¶¨ÒåÁËÒ»¸öÐźţ¬²¢Á¬½Óµ½×Ô¶¨ÒåµÄ²Ûº¯ÊýÖС£ Æäʵ¿´ÆðÀ´Ò²²»ÊǺÜÄѵÄÑù×Ó¡£

×¢Ò⣺ÉùÃ÷ÐźűØÐëÔÚÀàÊôÐÔÖж¨Ò壬Ҳ¾ÍÊÇËùÓз½·¨Ö®Ç°¡£ ʹÓÃemit¿ÉÒÔ·¢ÉäÐźţ¬È»ºóͨ¹ýconnect½«ÐźÅÓë²Ûº¯ÊýÁ¬½Ó¡£ ÏÂÃæÎÒÃÇÀ´Ñ§Ï°Ò»ÏÂÐźÅÓë²ÛÖ®¼äµÄ²ÎÊý´«µÝ£º

×¢Ò⣺µ±ÐźÅÓë²Ûº¯ÊýµÄ²ÎÊýÊýÁ¿Ïàͬʱ£¬ËüÃDzÎÊýÀàÐÍÒªÍêȫһÖ¡£ÐźÅÓë²Û²»ÄÜÓÐȱʡ²ÎÊý¡£

µ±ÐźŵIJÎÊýÓë²Ûº¯ÊýµÄ²ÎÊýÊýÁ¿²»Í¬Ê±£¬Ö»ÄÜÊÇÐźŵIJÎÊýÊýÁ¿¶àÓÚ²Ûº¯ÊýµÄ²ÎÊýÊýÁ¿£¬ÇÒÇ°ÃæÏàͬÊýÁ¿µÄ²ÎÊýÀàÐÍÓ¦Ò»Ö£¬ÐźÅÖжàÓàµÄ²ÎÊý»á±»ºöÂÔ¡£´ËÍ⣬ÔÚ²»½øÐвÎÊý´«µÝʱ£¬ÐźŲ۰ó¶¨Ê±Ò²ÊÇÒªÇóÐźŵIJÎÊýÊýÁ¿´óÓÚµÈÓÚ²Ûº¯ÊýµÄ²ÎÊýÊýÁ¿¡£ÕâÖÖÇé¿öÒ»°ãÊÇÒ»¸ö´ø²ÎÊýµÄÐźÅÈ¥°ó¶¨Ò»¸öÎÞ²ÎÊýµÄ²Ûº¯Êý¡£

µ±È»¿ÉÒÔ³ö´«µÝµÄ²ÎÊýÀàÐÍÓкܶàÖÖ£ºstr¡¢int¡¢list¡¢object¡¢float¡¢tuple¡¢dictµÈµÈ

ÖÁÓÚÐźŲÛʹÓÃ×¢ÒâÊÂÏî¿ÉÒÔ°Ù¶ÈÒ»ÏÂ

PyQt5&python GuiÈëÃŽ̳̣¨11£©Í¨ÓöԻ°¿òQMessageBox

PyQt5ÖÐΪÎÒÃÇÌṩÁ˺ܶàĬÈÏÐÅÏ¢¿òQMessageBox£¬×¢ÒâΪ·½±ãʹÓÃÐèÒªµ¼ÈëÄ£¿é¡£

QMessageBox¶Ô»°¿ò°üº¬ÀàÐÍÖ»ÊÇͼ±ê²»Í¬ÆäËûÎÞÌ«´ó²î±ð: QMessageBox.information ÐÅÏ¢¿ò QMessageBox.question ÎÊ´ð¿ò QMessageBox.warning ¾¯¸æ QMessageBox.ctiticalΣÏÕ QMessageBox.about ¹ØÓÚ

»ù±¾²ÎÊý£º£¨Ö¸¶¨¸¸×é¼þ£¬¡°±êÌ⡱£¬¡°ÐÅÏ¢ÄÚÈÝ¡±£¬ÒªÏÔʾµÄ°´Å¥£¬Ä¬Èϰ´Å¥£© Standard Buttons ĬÈÏÒªÏÔʾµÄ°´Å¥£¬¶à¸ö°´Å¥Ê¹Óà | ¸ô¿ª¡£ÆäÖаüº¬£¬¿ÉÒÔÈÎÒâ×éºÏ£º

StandardButtons(QMessageBox.Abort |QMessageBox.Apply | QMessageBox.Cancel |

QMessageBox.Close | QMessageBox.Discard |QMessageBox.Help | QMessageBox.Ignore | QMessageBox.No | QMessageBox.NoToAll | QMessageBox.Ok |QMessageBox.Open | QMessageBox.Reset | QMessageBox.RestoreDefaults | QMessageBox.Retry |QMessageBox.Save |

QMessageBox.SaveAll | QMessageBox.Yes | QMessageBox.YesToAll)

result Ϊ·µ»ØÖµ ĬÈÏΪÊýÖµ ÎÒÃÇ¿ÉÒÔͨ¹ýÉÏÃæµÄ·½·¨À´ÅжÏÓû§µã»÷ÁËÄǸö°´Å¥£¡

Ö®ºóÀ´Ò»ÕÅÏòµ¼Í¼£¬À´×Ôeric¡£

PyQt5&python GuiÈëÃŽ̳̣¨12£©±ê×¼ÊäÈë¿òQInputDialog

±ê×¼ÊäÈëÎÄ×Ö¿òQInputDialog.getText() ÐèÒªQInputDialogºÍQLineEditÄ£¿é£¬ ĬÈÏ·µ»ØÊäÈë¿òÎÄ×ֺͰ´Å¥boolÖµ

±ê×¼ÕûÊýÊäÈë¿òQInputDialog.getInt() ĬÈÏ·µ»ØÊäÈë¿òÎÄ×ֺͰ´Å¥boolÖµ

ÆäÖÐ0, -2147483647, 2147483647, 1 ΪĬÈÏÊýÖµ£¬ÊýÖµ·¶Î§£¬ºÍ²½³¤£¨¼´°´ÉÏϰ´Å¥Ê±ÊýÖµÔö¼Ó»ò¼õÉÙ¶àÉÙ£©

±ê×¼¸¡µãÊýÊäÈë¿òQInputDialog.getDouble() ĬÈÏ·µ»ØÊäÈë¿òÎÄ×ֺͰ´Å¥boolÖµ

ÆäÖÐ0, -2147483647, 2147483647, 10 ΪĬÈÏÊýÖµ£¬ÊýÖµ·¶Î§£¬×îºó10´ú±íСÊýλÊý¡£

ÁбíÊäÈëÑ¡Ôñ¿òQInputDialog.getItem() ĬÈÏ·µ»ØÊäÈë¿òÎÄ×ֺͰ´Å¥boolÖµ

ÌõÄ¿Ìí¼ÓΪÁбíÀàÐÍ£¬ÆäÖÐitemΪ×Ô¶¨ÒåÁÐ±í£¬1ΪĬÈÏÑ¡ÖÐÑ¡ÏîÄ¿£¬True/False Áбí¿òÊÇ·ñ¿É±à¼­¡£

PyQt5&python GuiÈëÃŽ̳̣¨13£©±ê×¼Îļþ´ò¿ª±£´æ¿òQFileDialog

µ¥¸öÎļþ´ò¿ª QFileDialog.getOpenFileName() ¶à¸öÎļþ´ò¿ª QFileDialog.getOpenFileNames()

²ÎÊý£¨Ö¸¶¨¸¸×é¼þ£¬¡°±êÌ⡱£¬¡°Ä¬ÈÏ´ò¿ªÂ·¾¶¡±£¬¡°ºó׺Ãû¹ýÂËÆ÷¡±£©»¹ÓÐºÜ¶à ·µ»ØÖµ ĬÈÏ·µ»ØÎļþ·¾¶ºÍµ±Ç°¹ýÂËÃû

Èç¹ûÐèÒª¶àÖÖÀàÐ͹ýÂË£¬¿ÉÒÔÕâÑù\£¨*.jpg£©;;exe£¨*.exe£©;;£¨*.*£©\ÓÃÁ½¸ö;;·Ö¸î¿ª¡£

getOpenFileName()º¯ÊýÔÚWindowsºÍMacOS Xƽ̨ÉÏÌṩµÄÊDZ¾µØµÄ¶Ô»°¿ò£¬ ¶øQFileDialogÌṩµÄʼÖÕÊÇQt×Ô¼º»æÖƵĶԻ°¿ò£¬¶ø²»¶¼Êǵ÷ÓÃϵͳ×ÊÔ´API¡£ ×¢Òâ¶à¸öÎļþ´ò¿ª£¬ÈôÒª°üº¬×ÓĿ¼»¹ÐèҪʹÓñðµÄÊֶΣ¬×ÔÐаٶȰɣ¡

Îļþ±£´æ¶Ô»°¿ò QFileDialog.getSaveFileName() QFileDialog.DontConfirmOverwrite ¸²¸ÇÌáʾ£¿ ·µ»ØÖµÍ¬ÉÏ£¬Í¬Ê±¾ßÌåÉú³ÉÎļþÄÚÈÝ»¹ÐèÒª×Ô¼ºÊµÏÖ¡£

PyQt5&python GuiÈëÃŽ̳̣¨14£©Qt Designer Ö÷´°¿ÚMainWindows

MainWindows ¼´Ö÷´°¿Ú£¬Ö÷Òª°üº¬Á˲˵¥À¸¡¢¹¤¾ßÀ¸¡¢ÈÎÎñÀ¸µÈ

Ë«»÷²Ëµ¥À¸Éϵġ°ÔÚÕâÀïÊäÈ롱£¬È»ºó¼ÈëÎÄ×Ö£¬»Ø³µ¼´¿É¡£×¢ÒâÒªÓûسµ¼üÈ·ÈÏ¡£

Ô¤ÀÀЧ¹û£¬²¢ÇÒ¼ÓÈëÁË¿ì½Ý¼üÏÔʾ

ÎÒÃÇ¿ÉÒÔÕâÑù×ö ²Ëµ¥(&M) ±à¼­(&E) À´¼ÓÈë²Ëµ¥µÄ¿ì½Ý°´Å¥ÔÚÔ¤ÀÀÖа´alt+m alt+e ¿ÉÒÔ¿´µ½Ð§¹û

ÏÂÀ­²Ëµ¥Ïî ÊÇaction ÎÒÃÇ¿ÉÒÔͨ¹ý¶¯×÷±à¼­Æ÷ÕÒµ½ËûÃÇ

Ë«»÷ÐèÒª±à¼­µÄaction£¬¿ÉÒÔ¶ÔÆä½øÐÐÉèÖò¢Ìí¼Óͼ±ê¡¢¿ì½Ý¼üµÈµÈ¡£

¹¤¾ßÀ¸£¬Ä¬ÈÏÔÚPyQt5Öв»ÏÔʾ¹¤¾ßÀ¸£¬ÎÒÃÇ¿ÉÒÔµã»÷ÓÒ¼üÀ´Ìí¼Ó¹¤¾ßÀ¸£¬Í¨¹ýÊôÐԱ༭Æ÷ÎÒÃÇ¿ÉÒÔÐÞ¸Äͼ±ê´óС¡£

¹¤¾ßÀ¸ÉÏÒ²ÊÇaction£¬ÔÚ¶¯×÷±à¼­Æ÷ÉÏÑ¡ÔñÐèÒªµÄactionÍÏÈë¼´¿É¡£

ÎÒÃÇ¿ÉÒÔÌí¼Ó¶à¸ö¹¤¾ßÀ¸£¬ÔÚÔ¤ÀÀÖÐÎÒÃÇ¿ÉÒÔÍϷʤ¾ßÀ¸£¬ÉõÖÁÊǸ¡¶¯³öÈ¥£¬ÓеãÏñPSµÄ¹¤¾ßÀ¸ÓÐľÓУ¿

ÎÒÃÇÀ´¸ö×ÛºÏʵÀý¿´¿´

Ê×ÏÈÐèÒªµ¼ÈëQMainWindowÀà ²¢¼Ì³ÐQMainWindow Éú³É×Ô¼ºµÄÀà¡£Ç°ÃæÒѾ­½éÉܺܶ಻ÔÙ¸´Êö£¡

È»ºó½«´ò¿ª¶¯×÷Á´½Óµ½×Ô¶¨Ò庯Êý²ÛÖУ¬×¢ÒâactionµÄµã»÷¶¯×÷Ϊtriggered¡£ ²Ûº¯ÊýÖÐÌí¼ÓÁËÒ»¸öͨÓöԻ°¿òµÄÐÅÏ¢¿òÌáʾ£¬

²¢ÇÒÉèÖÃÁËÈÎÎñÀ¸ÌáÐÑstatusBar.showMessage()·½·¨¡£

ͨ¹ýÒ»¸ö¼òµ¥µÄÀý×Ó¿ÉÒÔ¿´µ½PyQt5&python Gui¿ª·¢½áºÏQt Designer·Ç³£µÄ±ã½ÝºÍ¸ßЧ£¬ÆäʵÈëÃÅҲûÄÇôÄÑ£¡

ÎÒÃÇ¿ÉÒÔͨ¹ýQt Designer±àÒë³öÀ´µÄÎļþÈ¥·ÖÎöѧϰGui¹¹½¨£¬È»ºóͨ¹ý´úÂë·ÖÀëÀ´ÊµÏÖ×Ô¼ºµÄ·½·¨¡£

PyQt5&python GuiÈëÃŽ̳̣¨15£©Qt Designer Ö÷´°¿Ú¶¯Ì¬¼ÓÔØWidget

±¾È˵Ľ̳̱Ƚϻù´¡£¬ËùÓ÷½·¨²»¹»ÁÁɧ£¬½ö¹©ÐÂÊÖÈëÃÅ£¬Èô´ó¼ÒÓиüºÃµÄ·½·¨²»Ê¤´Í½Ì£¡