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