{"id":106319,"date":"2026-09-17T06:56:29","date_gmt":"2026-09-16T22:56:29","guid":{"rendered":"https:\/\/www.wsisp.com\/helps\/106319.html"},"modified":"2026-09-17T06:56:29","modified_gmt":"2026-09-16T22:56:29","slug":"%e3%80%90qt%e3%80%91%e3%80%8aqt-5-9-c%e5%bc%80%e5%8f%91%e6%8c%87%e5%8d%97%e3%80%8b%e7%ac%94%e8%ae%b0-chapter2-gui%e5%ba%94%e7%94%a8%e7%a8%8b%e5%ba%8f%e8%ae%be%e8%ae%a1%e5%9f%ba%e7%a1%80","status":"publish","type":"post","link":"https:\/\/www.wsisp.com\/helps\/106319.html","title":{"rendered":"\u3010Qt\u3011\u300aQt 5.9 C++\u5f00\u53d1\u6307\u5357\u300b\u7b14\u8bb0-Chapter2-GUI\u5e94\u7528\u7a0b\u5e8f\u8bbe\u8ba1\u57fa\u7840"},"content":{"rendered":"<h2>\u7b2c2\u7ae0\u3000GUI\u5e94\u7528\u7a0b\u5e8f\u8bbe\u8ba1\u57fa\u7840<\/h2>\n<p>\u4e0a\u4e00\u7ae0\u901a\u8fc7\u4e00\u4e2a\u201cHello World\u201d\u5b9e\u4f8b&#xff0c;\u6f14\u793a\u4e86\u5728Qt Creator\u91cc\u521b\u5efa\u5e94\u7528\u7a0b\u5e8f\u3001\u8bbe\u8ba1\u7a97\u4f53\u754c\u9762\u3001\u7f16\u8bd1\u548c\u8fd0\u884c\u7a0b\u5e8f\u7684\u57fa\u672c\u8fc7\u7a0b\u3002\u672c\u7ae0\u5c06\u7ee7\u7eed\u6df1\u5165\u5730\u4ecb\u7ecdQt Creator\u8bbe\u8ba1GUI\u5e94\u7528\u7a0b\u5e8f\u7684\u57fa\u672c\u65b9\u6cd5&#xff0c;\u5305\u62ecQt\u521b\u5efa\u7684\u5e94\u7528\u7a0b\u5e8f\u9879\u76ee\u7684\u57fa\u672c\u7ec4\u7ec7\u7ed3\u6784&#xff0c;\u53ef\u89c6\u5316\u8bbe\u8ba1\u7684UI\u754c\u9762\u6587\u4ef6\u7684\u539f\u7406\u548c\u8fd0\u884c\u673a\u5236&#xff0c;\u4fe1\u53f7\u4e0e\u69fd\u7684\u4f7f\u7528\u65b9\u6cd5&#xff0c;\u7a97\u4f53\u53ef\u89c6\u5316\u8bbe\u8ba1\u7684\u5e95\u5c42\u539f\u7406&#xff0c;\u5e94\u7528\u7a0b\u5e8f\u7684\u7a97\u4f53\u3001\u7ec4\u4ef6\u5e03\u5c40\u3001\u83dc\u5355\u3001\u5de5\u5177\u680f\u3001Actions\u7b49\u5e38\u89c1\u8bbe\u8ba1\u5143\u7d20\u7684\u4f7f\u7528\u65b9\u6cd5\u3002<\/p>\n<h3>2.1\u3000UI\u6587\u4ef6\u8bbe\u8ba1\u4e0e\u8fd0\u884c\u673a\u5236<\/h3>\n<h4>2.1.1\u3000\u9879\u76ee\u6587\u4ef6\u7ec4\u6210<\/h4>\n<p>\u5728Qt Creator\u4e2d\u65b0\u5efa\u4e00\u4e2aWidget Application\u9879\u76eesamp2_1&#xff0c;\u5728\u9009\u62e9\u7a97\u53e3\u57fa\u7c7b\u7684\u9875\u9762&#xff08;\u539f\u4e66\u7684\u56fe1-8&#xff09;\u9009\u62e9QWidget\u4f5c\u4e3a\u7a97\u4f53\u57fa\u7c7b&#xff0c;\u5e76\u9009\u4e2d\u201cGenerate form\u201d\u590d\u9009\u6846\u3002\u521b\u5efa\u540e\u7684\u9879\u76ee\u6587\u4ef6\u76ee\u5f55\u6811\u5982\u539f\u4e66\u7684\u56fe2-1\u6240\u793a\u3002<\/p>\n<p>\u8fd9\u4e2a\u9879\u76ee\u5305\u542b\u4ee5\u4e0b\u4e00\u4e9b\u6587\u4ef6\u3002<\/p>\n<ul>\n<li>\n<p>\u9879\u76ee\u7ec4\u7ec7\u6587\u4ef6samp2_1.pro&#xff0c;\u5b58\u50a8\u9879\u76ee\u8bbe\u7f6e\u7684\u6587\u4ef6\u3002<\/p>\n<\/li>\n<li>\n<p>\u4e3b\u7a0b\u5e8f\u5165\u53e3\u6587\u4ef6main.cpp&#xff0c;\u5b9e\u73b0main()\u51fd\u6570\u7684\u7a0b\u5e8f\u6587\u4ef6\u3002<\/p>\n<\/li>\n<li>\n<p>\u7a97\u4f53\u754c\u9762\u6587\u4ef6widget.ui&#xff0c;\u4e00\u4e2aXML\u683c\u5f0f\u5b58\u50a8\u7684\u7a97\u4f53\u4e0a\u7684\u5143\u4ef6\u53ca\u5176\u5e03\u5c40\u7684\u6587\u4ef6\u3002<\/p>\n<\/li>\n<li>\n<p>widget.h\u662f\u6240\u8bbe\u8ba1\u7684\u7a97\u4f53\u7c7b\u7684\u5934\u6587\u4ef6&#xff0c;widget.cpp\u662fwidget.h\u91cc\u5b9a\u4e49\u7c7b\u7684\u5b9e\u73b0\u6587\u4ef6\u3002\u5728C&#043;&#043;\u91cc&#xff0c;\u4efb\u4f55\u7a97\u4f53\u6216\u754c\u9762\u7ec4\u4ef6\u90fd\u662f\u7528\u7c7b\u5c01\u88c5\u7684&#xff0c;\u4e00\u4e2a\u7c7b\u4e00\u822c\u6709\u4e00\u4e2a\u5934\u6587\u4ef6&#xff08;.h\u6587\u4ef6&#xff09;\u548c\u4e00\u4e2a\u6e90\u7a0b\u5e8f\u6587\u4ef6&#xff08;.cpp\u6587\u4ef6&#xff09;\u3002<\/p>\n<\/li>\n<\/ul>\n<h4>2.1.2\u3000\u9879\u76ee\u7ba1\u7406\u6587\u4ef6<\/h4>\n<p>\u540e\u7f00\u4e3a\u201c.pro\u201d\u7684\u6587\u4ef6\u662f\u9879\u76ee\u7684\u7ba1\u7406\u6587\u4ef6&#xff0c;\u6587\u4ef6\u540d\u5c31\u662f\u9879\u76ee\u7684\u540d\u79f0&#xff0c;\u5982\u672c\u9879\u76ee\u4e2d\u7684samp2_1.pro\u3002\u4e0b\u9762\u662fsamp2_1.pro\u6587\u4ef6\u7684\u5185\u5bb9\u3002<\/p>\n<p>Qt       &#043;&#061; core gui<br \/>\ngreaterThan(Qt_MAJOR_VERSION, 4): Qt &#043;&#061; widgets<\/p>\n<p>TARGET &#061; samp2_1<br \/>\nTEMPLATE &#061; app<br \/>\nSOURCES &#043;&#061; main.cpp\\\\<br \/>\n       widget.cpp<br \/>\nHEADERS  &#043;&#061; widget.h<br \/>\nFORMS    &#043;&#061; widget.ui<\/p>\n<p>\u9879\u76ee\u7ba1\u7406\u6587\u4ef6\u7528\u4e8e\u8bb0\u5f55\u9879\u76ee\u7684\u4e00\u4e9b\u8bbe\u7f6e&#xff0c;\u4ee5\u53ca\u9879\u76ee\u5305\u542b\u6587\u4ef6\u7684\u7ec4\u7ec7\u7ba1\u7406\u3002<\/p>\n<p>\u201cQt\u3000&#043;&#061; core gui\u201d\u8868\u793a\u9879\u76ee\u4e2d\u52a0\u5165core gui\u6a21\u5757\u3002core gui\u662fQt\u7528\u4e8eGUI\u8bbe\u8ba1\u7684\u7c7b\u5e93\u6a21\u5757&#xff0c;\u5982\u679c\u521b\u5efa\u7684\u662f\u63a7\u5236\u53f0&#xff08;Console&#xff09;\u5e94\u7528\u7a0b\u5e8f&#xff0c;\u5c31\u4e0d\u9700\u8981\u6dfb\u52a0core gui\u3002<\/p>\n<p>Qt\u7c7b\u5e93\u4ee5\u6a21\u5757\u7684\u5f62\u5f0f\u7ec4\u7ec7\u5404\u79cd\u529f\u80fd\u7684\u7c7b&#xff0c;\u6839\u636e\u9879\u76ee\u6d89\u53ca\u7684\u529f\u80fd\u9700\u6c42&#xff0c;\u5728\u9879\u76ee\u4e2d\u6dfb\u52a0\u9002\u5f53\u7684\u7c7b\u5e93\u6a21\u5757\u652f\u6301\u3002\u4f8b\u5982&#xff0c;\u5982\u679c\u9879\u76ee\u4e2d\u4f7f\u7528\u5230\u4e86\u6d89\u53ca\u6570\u636e\u5e93\u64cd\u4f5c\u7684\u7c7b\u5c31\u9700\u8981\u7528\u5230sql\u6a21\u5757&#xff0c;\u5728pro\u6587\u4ef6\u4e2d\u9700\u8981\u589e\u52a0\u5982\u4e0b\u4e00\u884c&#xff1a;<\/p>\n<p>Qt    &#043;&#061;sql<\/p>\n<p>samp2_1.pro\u4e2d\u7684\u7b2c2\u884c\u662f&#xff1a;<\/p>\n<p>greaterThan(Qt_MAJOR_VERSION, 4): Qt &#043;&#061; widgets<\/p>\n<p>\u8fd9\u662f\u4e2a\u6761\u4ef6\u6267\u884c\u8bed\u53e5&#xff0c;\u8868\u793a\u5f53Qt\u4e3b\u7248\u672c\u5927\u4e8e4\u65f6&#xff0c;\u624d\u52a0\u5165widgets\u6a21\u5757\u3002<\/p>\n<p>\u201cTARGET &#061; samp2_1\u201d\u8868\u793a\u751f\u6210\u7684\u76ee\u6807\u53ef\u6267\u884c\u6587\u4ef6\u7684\u540d\u79f0&#xff0c;\u5373\u7f16\u8bd1\u540e\u751f\u6210\u7684\u53ef\u6267\u884c\u6587\u4ef6\u662fsamp2_1.exe\u3002<\/p>\n<p>\u201cTEMPLATE &#061; app\u201d\u8868\u793a\u9879\u76ee\u4f7f\u7528\u7684\u6a21\u677f\u662fapp&#xff0c;\u662f\u4e00\u822c\u7684\u5e94\u7528\u7a0b\u5e8f\u3002<\/p>\n<p>\u540e\u9762\u7684SOURCES\u3001HEADERS\u3001FORMS \u8bb0\u5f55\u4e86\u9879\u76ee\u4e2d\u5305\u542b\u7684\u6e90\u7a0b\u5e8f\u6587\u4ef6\u3001\u5934\u6587\u4ef6\u548c\u7a97\u4f53\u6587\u4ef6&#xff08;.ui\u6587\u4ef6&#xff09;\u7684\u540d\u79f0\u3002\u8fd9\u4e9b\u6587\u4ef6\u5217\u8868\u662fQt Creator\u81ea\u52a8\u6dfb\u52a0\u5230\u9879\u76ee\u7ba1\u7406\u6587\u4ef6\u91cc\u9762\u7684&#xff0c;\u7528\u6237\u4e0d\u9700\u8981\u624b\u52a8\u4fee\u6539\u3002\u5f53\u6dfb\u52a0\u4e00\u4e2a\u6587\u4ef6\u5230\u9879\u76ee&#xff0c;\u6216\u4ece\u9879\u76ee\u91cc\u5220\u9664\u4e00\u4e2a\u6587\u4ef6\u65f6&#xff0c;\u9879\u76ee\u7ba1\u7406\u6587\u4ef6\u91cc\u7684\u6761\u76ee\u4f1a\u81ea\u52a8\u4fee\u6539\u3002<\/p>\n<h4>2.1.3\u3000\u754c\u9762\u6587\u4ef6<\/h4>\n<p>\u540e\u7f00\u4e3a\u201c.ui\u201d\u7684\u6587\u4ef6\u662f\u53ef\u89c6\u5316\u8bbe\u8ba1\u7684\u7a97\u4f53\u7684\u5b9a\u4e49\u6587\u4ef6&#xff0c;\u5982widget.ui\u3002\u53cc\u51fb\u9879\u76ee\u6587\u4ef6\u76ee\u5f55\u6811\u4e2d\u7684\u6587\u4ef6widget.ui&#xff0c;\u4f1a\u6253\u5f00\u4e00\u4e2a\u96c6\u6210\u5728Qt Creator\u4e2d\u7684Qt Designer\u5bf9\u7a97\u4f53\u8fdb\u884c\u53ef\u89c6\u5316\u8bbe\u8ba1&#xff0c;\u5982\u539f\u4e66\u7684\u56fe2-2\u6240\u793a\u3002<\/p>\n<p>\u7ea6\u5b9a&#xff1a;\u672c\u4e66\u540e\u9762\u5c06\u79f0\u8fd9\u4e2a\u96c6\u6210\u5728Qt Creator\u4e2d\u7684Qt Designer\u4e3a\u201cUI\u8bbe\u8ba1\u5668\u201d&#xff0c;\u4ee5\u4fbf\u4e0e\u72ec\u7acb\u8fd0\u884c\u7684Qt Designer\u533a\u522b\u5f00\u6765\u3002<\/p>\n<p>\u539f\u4e66\u7684\u56fe2-2\u4e2d\u7684UI\u8bbe\u8ba1\u5668\u6709\u4ee5\u4e0b\u4e00\u4e9b\u529f\u80fd\u533a\u57df\u3002<\/p>\n<ul>\n<li>\n<p>\u7ec4\u4ef6\u9762\u677f\u3002\u7a97\u53e3\u5de6\u4fa7\u662f\u754c\u9762\u8bbe\u8ba1\u7ec4\u4ef6\u9762\u677f&#xff0c;\u5206\u4e3a\u591a\u4e2a\u7ec4&#xff0c;\u5982Layouts\u3001Buttons\u3001Display Widgets\u7b49&#xff0c;\u754c\u9762\u8bbe\u8ba1\u7684\u5e38\u89c1\u7ec4\u4ef6\u90fd\u53ef\u4ee5\u5728\u7ec4\u4ef6\u9762\u677f\u91cc\u627e\u5230\u3002<\/p>\n<\/li>\n<li>\n<p>\u4e2d\u95f4\u4e3b\u8981\u533a\u57df\u662f\u5f85\u8bbe\u8ba1\u7684\u7a97\u4f53\u3002\u5982\u679c\u8981\u5c06\u67d0\u4e2a\u7ec4\u4ef6\u653e\u7f6e\u5230\u7a97\u4f53\u4e0a\u65f6&#xff0c;\u4ece\u7ec4\u4ef6\u9762\u677f\u4e0a\u62d6\u653e\u4e00\u4e2a\u7ec4\u4ef6\u5230\u7a97\u4f53\u4e0a\u5373\u53ef\u3002\u4f8b\u5982&#xff0c;\u5148\u653e\u4e00\u4e2aLabel\u548c\u4e00\u4e2aPush Button\u5230\u7a97\u4f53\u4e0a\u3002<\/p>\n<\/li>\n<li>\n<p>Signals\u548cSlots \u7f16\u8f91\u5668\u4e0eAction\u7f16\u8f91\u5668\u662f\u4f4d\u4e8e\u5f85\u8bbe\u8ba1\u7a97\u4f53\u4e0b\u65b9\u7684\u4e24\u4e2a\u7f16\u8f91\u5668\u3002Signals\u548cSlots \u7f16\u8f91\u5668\u7528\u4e8e\u53ef\u89c6\u5316\u5730\u8fdb\u884c\u4fe1\u53f7\u4e0e\u69fd\u7684\u5173\u8054&#xff0c;Action\u7f16\u8f91\u5668\u7528\u4e8e\u53ef\u89c6\u5316\u8bbe\u8ba1Action\u3002<\/p>\n<\/li>\n<li>\n<p>\u5e03\u5c40\u548c\u754c\u9762\u8bbe\u8ba1\u5de5\u5177\u680f\u3002\u7a97\u53e3\u4e0a\u65b9\u7684\u4e00\u4e2a\u5de5\u5177\u680f&#xff0c;\u5de5\u5177\u680f\u4e0a\u7684\u6309\u94ae\u4e3b\u8981\u5b9e\u73b0\u5e03\u5c40\u548c\u754c\u9762\u8bbe\u8ba1\u3002<\/p>\n<\/li>\n<li>\n<p>\u5bf9\u8c61\u6d4f\u89c8\u5668&#xff08;Object Inspector&#xff09;\u3002\u7a97\u53e3\u53f3\u4e0a\u65b9\u662fObject Inspector&#xff0c;\u7528\u6811\u72b6\u89c6\u56fe\u663e\u793a\u7a97\u4f53\u4e0a\u5404\u7ec4\u4ef6\u4e4b\u95f4\u7684\u5e03\u5c40\u5305\u542b\u5173\u7cfb&#xff0c;\u89c6\u56fe\u6709\u4e24\u5217&#xff0c;\u663e\u793a\u6bcf\u4e2a\u7ec4\u4ef6\u7684\u5bf9\u8c61\u540d\u79f0&#xff08;ObjectName&#xff09;\u548c\u7c7b\u540d\u79f0\u3002<\/p>\n<\/li>\n<li>\n<p>\u5c5e\u6027\u7f16\u8f91\u5668&#xff08;Property Editor&#xff09;\u3002\u7a97\u53e3\u53f3\u4e0b\u65b9\u662f\u5c5e\u6027\u7f16\u8f91\u5668&#xff0c;\u662f\u754c\u9762\u8bbe\u8ba1\u65f6\u6700\u5e38\u7528\u5230\u7684\u7f16\u8f91\u5668\u3002\u5c5e\u6027\u7f16\u8f91\u5668\u663e\u793a\u67d0\u4e2a\u9009\u4e2d\u7684\u7ec4\u4ef6\u6216\u7a97\u4f53\u7684\u5404\u79cd\u5c5e\u6027\u53ca\u5176\u53d6\u503c&#xff0c;\u53ef\u4ee5\u5728\u5c5e\u6027\u7f16\u8f91\u5668\u91cc\u4fee\u6539\u8fd9\u4e9b\u5c5e\u6027\u7684\u503c\u3002<\/p>\n<\/li>\n<\/ul>\n<p>\u539f\u4e66\u7684\u56fe2-3\u663e\u793a\u7684\u662f\u9009\u4e2d\u7a97\u4f53\u4e0a\u653e\u7f6e\u7684\u6807\u7b7e\u7ec4\u4ef6\u540e\u5c5e\u6027\u7f16\u8f91\u5668\u7684\u5185\u5bb9\u3002\u6700\u4e0a\u65b9\u663e\u793a\u7684\u6587\u5b57\u201cLabDemo: QLabel\u201d\u8868\u793a\u8fd9\u4e2a\u7ec4\u4ef6\u662f\u4e00\u4e2aQLabel\u7c7b\u7684\u7ec4\u4ef6&#xff0c;objectName\u662fLabDemo\u3002\u5c5e\u6027\u7f16\u8f91\u5668\u7684\u5185\u5bb9\u5206\u4e3a\u4e24\u5217&#xff0c;Property\u5217\u662f\u5c5e\u6027\u7684\u540d\u79f0&#xff0c;Value\u5217\u662f\u5c5e\u6027\u7684\u503c\u3002\u5c5e\u6027\u53c8\u5206\u4e3a\u591a\u4e2a\u7ec4&#xff0c;\u5b9e\u9645\u4e0a\u8868\u793a\u4e86\u7c7b\u7684\u7ee7\u627f\u5173\u7cfb&#xff0c;\u5982\u5728\u56fe2-3\u4e2d&#xff0c;\u53ef\u4ee5\u770b\u51faQLabel\u7684\u7ee7\u627f\u5173\u7cfb\u662fQObject\u2192QWidget\u2192QFrame\u2192QLabel\u3002<\/p>\n<p>objectName\u8868\u793a\u7ec4\u4ef6\u7684\u5bf9\u8c61\u540d\u79f0&#xff0c;\u754c\u9762\u4e0a\u7684\u6bcf\u4e2a\u7ec4\u4ef6\u90fd\u9700\u8981\u4e00\u4e2a\u552f\u4e00\u7684\u5bf9\u8c61\u540d\u79f0&#xff0c;\u4ee5\u4fbf\u88ab\u5f15\u7528\u3002\u754c\u9762\u4e0a\u7684\u7ec4\u4ef6\u7684\u547d\u540d\u5e94\u8be5\u9075\u5faa\u4e00\u5b9a\u7684\u6cd5\u5219&#xff0c;\u5177\u4f53\u4f7f\u7528\u4ec0\u4e48\u6837\u7684\u547d\u540d\u6cd5\u5219\u6839\u636e\u4e2a\u4eba\u4e60\u60ef\u800c\u5b9a&#xff0c;\u4e3b\u8981\u76ee\u7684\u662f\u4fbf\u4e8e\u533a\u5206\u548c\u8bb0\u5fc6&#xff0c;\u4e5f\u8981\u4fbf\u4e8e\u4e0e\u666e\u901a\u53d8\u91cf\u76f8\u533a\u5206\u3002<\/p>\n<p>\u8bbe\u7f6e\u5176\u4ed6\u5c5e\u6027\u7684\u503c\u53ea\u9700\u5728\u5c5e\u6027\u7f16\u8f91\u5668\u91cc\u64cd\u4f5c\u5373\u53ef&#xff0c;\u5982\u8bbe\u7f6eLabDemo\u7684text\u5c5e\u6027\u4e3a\u201cHello, World\u201d&#xff0c;\u53ea\u9700\u50cf\u56fe2-3\u90a3\u6837\u4fee\u6539text\u5c5e\u6027\u7684\u503c\u5373\u53ef\u3002<\/p>\n<p>\u63d0\u793a&#xff1a;\u6807\u51c6C&#043;&#043;\u8bed\u8a00\u91cc\u5e76\u6ca1\u6709property\u5173\u952e\u5b57&#xff0c;property\u662fQt\u5bf9\u6807\u51c6C&#043;&#043;\u7684\u6269\u5c55&#xff0c;\u4f7f\u5f97\u5728Qt Designer\u91cc\u5c31\u53ef\u4ee5\u53ef\u89c6\u5316\u8bbe\u7f6e\u7c7b\u7684\u6570\u636e\u3002<\/p>\n<p>\u5728\u56fe2-2\u663e\u793a\u7684\u8bbe\u8ba1\u7a97\u4f53\u4e0a&#xff0c;\u653e\u7f6e\u4e00\u4e2aLabel\u548c\u4e00\u4e2aPush Button\u7ec4\u4ef6&#xff0c;\u5b83\u4eec\u7684\u4e3b\u8981\u5c5e\u6027\u8bbe\u7f6e\u89c1\u88682-1\u3002<\/p>\n<p>\u88682-1\u3000\u754c\u9762\u7ec4\u4ef6\u7684\u5c5e\u6027\u8bbe\u7f6e<\/p>\n<table>\n<tr>ObjectName\u7c7b\u540d\u79f0\u5c5e\u6027\u8bbe\u7f6e\u5907\u6ce8<\/tr>\n<tbody>\n<tr>\n<td>LabDemo<\/td>\n<td>QLabel<\/td>\n<td>Text&#061;\u201dHello, World\u201d; Font.PointSize&#061;20; Font.bold&#061;true<\/td>\n<td>\u8bbe\u7f6e\u6807\u7b7e\u663e\u793a\u6587\u5b57\u548c\u5b57\u4f53<\/td>\n<\/tr>\n<tr>\n<td>btnClose<\/td>\n<td>QPushButton<\/td>\n<td>Text&#061;\u201dClose\u201d<\/td>\n<td>\u8bbe\u7f6e\u6309\u94ae\u7684\u6587\u5b57<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u7f16\u8f91\u5b8c\u5c5e\u6027\u4e4b\u540e&#xff0c;\u518d\u4e3abtnClose\u6309\u94ae\u589e\u52a0\u4e00\u4e2a\u529f\u80fd&#xff0c;\u5c31\u662f\u5355\u51fb\u6b64\u6309\u94ae\u65f6&#xff0c;\u5173\u95ed\u7a97\u53e3&#xff0c;\u9000\u51fa\u7a0b\u5e8f\u3002\u4f7f\u7528Signals\u548cSlots \u7f16\u8f91\u5668\u5b8c\u6210\u8fd9\u4e2a\u529f\u80fd&#xff0c;\u5982\u539f\u4e66\u7684\u56fe2-4\u6240\u793a\u3002<\/p>\n<p>\u5728\u4fe1\u53f7\u4e0e\u69fd\u7f16\u8f91\u5668\u7684\u5de5\u5177\u680f\u4e0a\u5355\u51fb\u201cAdd\u201d\u6309\u94ae&#xff0c;\u5728\u51fa\u73b0\u7684\u6761\u76ee\u4e2d&#xff0c;Sender\u9009\u62e9btnClose&#xff0c;Signal\u9009\u62e9clicked()&#xff0c;Receiver\u9009\u62e9\u7a97\u4f53Widget&#xff0c;Slot\u9009\u62e9close()\u3002\u8fd9\u6837\u8bbe\u7f6e\u8868\u793a\u5f53\u6309\u94aebtnClose\u88ab\u5355\u51fb\u65f6&#xff0c;\u5c31\u6267\u884cWidget\u7684close()\u51fd\u6570&#xff0c;\u5b9e\u73b0\u5173\u95ed\u7a97\u53e3\u7684\u529f\u80fd\u3002<\/p>\n<p>\u7136\u540e\u5bf9\u9879\u76ee\u8fdb\u884c\u7f16\u8bd1\u548c\u8fd0\u884c&#xff0c;\u53ef\u4ee5\u51fa\u73b0\u5982\u539f\u4e66\u7684\u56fe2-5\u6240\u793a\u7684\u7a97\u53e3&#xff0c;\u5355\u51fb\u201cClose\u201d\u6309\u94ae\u53ef\u4ee5\u5173\u95ed\u7a0b\u5e8f\u3002\u6807\u7b7e\u7684\u6587\u5b57\u5185\u5bb9\u548c\u5b57\u4f53\u88ab\u4fee\u6539\u4e86&#xff0c;\u7a97\u53e3\u6807\u9898\u4e5f\u663e\u793a\u4e3a\u6240\u8bbe\u7f6e\u7684\u6807\u9898&#xff0c;\u800c\u6211\u4eec\u5e76\u6ca1\u6709\u7f16\u5199\u4e00\u884c\u7a0b\u5e8f\u8bed\u53e5&#xff0c;Qt\u662f\u600e\u4e48\u5b9e\u73b0\u8fd9\u4e9b\u529f\u80fd\u7684\u5462&#xff1f;<\/p>\n<h4>2.1.4\u3000\u4e3b\u51fd\u6570\u6587\u4ef6<\/h4>\n<p>main.cpp\u662f\u5b9e\u73b0main()\u51fd\u6570\u7684\u6587\u4ef6&#xff0c;\u4e0b\u9762\u662fmain.cpp\u6587\u4ef6\u7684\u5185\u5bb9\u3002<\/p>\n<p>#include &#034;widget.h&#034;<br \/>\n#include &lt;QApplication&gt;<br \/>\nint main(int argc, char *argv[])<br \/>\n{<br \/>\n   QApplication a(argc, argv);  \/\/\u5b9a\u4e49\u5e76\u521b\u5efa\u5e94\u7528\u7a0b\u5e8f<br \/>\n   Widget w;                    \/\/\u5b9a\u4e49\u5e76\u521b\u5efa\u7a97\u53e3<br \/>\n   w.show();                    \/\/\u663e\u793a\u7a97\u53e3<br \/>\n   return a.exec();             \/\/\u5e94\u7528\u7a0b\u5e8f\u8fd0\u884c<br \/>\n}<\/p>\n<p>main()\u51fd\u6570\u662f\u5e94\u7528\u7a0b\u5e8f\u7684\u5165\u53e3\u3002\u5b83\u7684\u4e3b\u8981\u529f\u80fd\u662f\u521b\u5efa\u5e94\u7528\u7a0b\u5e8f&#xff0c;\u521b\u5efa\u7a97\u53e3&#xff0c;\u663e\u793a\u7a97\u53e3&#xff0c;\u5e76\u8fd0\u884c\u5e94\u7528\u7a0b\u5e8f&#xff0c;\u5f00\u59cb\u5e94\u7528\u7a0b\u5e8f\u7684\u6d88\u606f\u5faa\u73af\u548c\u4e8b\u4ef6\u5904\u7406\u3002<\/p>\n<p>QApplication \u662fQt\u7684\u6807\u51c6\u5e94\u7528\u7a0b\u5e8f\u7c7b&#xff0c;\u7b2c1\u884c\u4ee3\u7801\u5b9a\u4e49\u4e86\u4e00\u4e2aQApplication\u7c7b\u7684\u5b9e\u4f8ba&#xff0c;\u5c31\u662f\u5e94\u7528\u7a0b\u5e8f\u5bf9\u8c61\u3002<\/p>\n<p>\u7136\u540e\u5b9a\u4e49\u4e86\u4e00\u4e2aWidget\u7c7b\u7684\u53d8\u91cfw&#xff0c;Widget\u662f\u672c\u5b9e\u4f8b\u8bbe\u8ba1\u7684\u7a97\u53e3\u7684\u7c7b\u540d&#xff0c;\u5b9a\u4e49\u6b64\u7a97\u53e3\u540e\u518d\u7528w.show()\u663e\u793a\u6b64\u7a97\u53e3\u3002<\/p>\n<p>\u6700\u540e\u4e00\u884c\u7528a.exec()\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f\u7684\u6267\u884c&#xff0c;\u5f00\u59cb\u5e94\u7528\u7a0b\u5e8f\u7684\u6d88\u606f\u5faa\u73af\u548c\u4e8b\u4ef6\u5904\u7406\u3002<\/p>\n<h4>2.1.5\u3000\u7a97\u4f53\u76f8\u5173\u7684\u6587\u4ef6<\/h4>\n<p>\u4e3a\u4e86\u641e\u6e05\u695a\u7a97\u4f53\u7c7b\u7684\u5b9a\u4e49&#xff0c;\u4ee5\u53ca\u754c\u9762\u529f\u80fd\u7684\u5b9e\u73b0\u539f\u7406&#xff0c;\u8fd9\u91cc\u5c06\u9879\u76ee\u8fdb\u884c\u7f16\u8bd1\u3002\u7f16\u8bd1\u540e\u5728\u9879\u76ee\u76ee\u5f55\u4e0b\u4f1a\u81ea\u52a8\u751f\u6210\u4e00\u4e2a\u6587\u4ef6ui_widget.h&#xff0c;\u8fd9\u6837\u5bf9\u4e8e\u4e00\u4e2a\u7a97\u4f53&#xff0c;\u5c31\u67094\u4e2a\u6587\u4ef6\u4e86&#xff0c;\u5404\u6587\u4ef6\u7684\u529f\u80fd\u8bf4\u660e\u89c1\u88682-2\u3002<\/p>\n<p>\u88682-2\u3000\u7a97\u4f53\u76f8\u5173\u76844\u4e2a\u6587\u4ef6<\/p>\n<table>\n<tr>\u6587\u4ef6\u529f\u80fd<\/tr>\n<tbody>\n<tr>\n<td>widget.h<\/td>\n<td>\u5b9a\u4e49\u7a97\u4f53\u7c7b\u7684\u5934\u6587\u4ef6&#xff0c;\u5b9a\u4e49\u4e86\u7c7bWidget<\/td>\n<\/tr>\n<tr>\n<td>widget.cpp<\/td>\n<td>Widget\u7c7b\u7684\u529f\u80fd\u5b9e\u73b0\u6e90\u7a0b\u5e8f\u6587\u4ef6<\/td>\n<\/tr>\n<tr>\n<td>widget.ui<\/td>\n<td>\u7a97\u4f53\u754c\u9762\u6587\u4ef6&#xff0c;\u7531UI\u8bbe\u8ba1\u5668\u81ea\u52a8\u751f\u6210&#xff0c;\u5b58\u50a8\u4e86\u7a97\u4f53\u4e0a\u5404\u4e2a\u7ec4\u4ef6\u7684\u5c5e\u6027\u8bbe\u7f6e\u548c\u5e03\u5c40<\/td>\n<\/tr>\n<tr>\n<td>ui_widget.h<\/td>\n<td>\u7f16\u8bd1\u540e&#xff0c;\u6839\u636e\u7a97\u4f53\u4e0a\u7684\u7ec4\u4ef6\u53ca\u5176\u5c5e\u6027\u3001\u4fe1\u53f7\u4e0e\u69fd\u7684\u5173\u8054\u7b49\u81ea\u52a8\u751f\u6210\u7684\u4e00\u4e2a\u7c7b\u7684\u5b9a\u4e49\u6587\u4ef6&#xff0c;\u7c7b\u7684\u540d\u79f0\u662fUi_Widget<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u4e0b\u9762\u5206\u522b\u5206\u6790\u5404\u4e2a\u6587\u4ef6\u7684\u5185\u5bb9\u53ca\u5176\u529f\u80fd&#xff0c;\u4ee5\u53ca\u5b83\u4eec\u662f\u5982\u4f55\u8054\u7cfb\u5728\u4e00\u8d77\u5de5\u4f5c&#xff0c;\u5b9e\u73b0\u754c\u9762\u7684\u521b\u5efa\u4e0e\u663e\u793a\u7684\u3002<\/p>\n<h5>1&#xff0e;widget.h\u6587\u4ef6<\/h5>\n<p>widget.h\u6587\u4ef6\u662f\u7a97\u4f53\u7c7b\u7684\u5934\u6587\u4ef6\u3002\u5728\u521b\u5efa\u9879\u76ee\u65f6&#xff0c;\u9009\u62e9\u7a97\u4f53\u57fa\u7c7b\u662fQWidget&#xff0c;\u5728widget.h\u4e2d\u5b9a\u4e49\u4e86\u4e00\u4e2a\u7ee7\u627f\u81eaQWidget\u7684\u7c7bWidget&#xff0c;\u4e0b\u9762\u662fwidget.h\u6587\u4ef6\u7684\u5185\u5bb9\u3002<\/p>\n<p>#ifndef WIDGET_H<br \/>\n#define WIDGET_H<br \/>\n#include &lt;QWidget&gt;<\/p>\n<p>namespace Ui {   \/\/\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4Ui&#xff0c;\u5305\u542b\u4e00\u4e2a\u7c7bWidget<br \/>\nclass Widget;<br \/>\n}<\/p>\n<p>class Widget : public QWidget<br \/>\n{<br \/>\n   Q_OBJECT<br \/>\npublic:<br \/>\n   explicit Widget(QWidget *parent &#061; 0);<br \/>\n   ~Widget();<br \/>\nprivate:<br \/>\n   Ui::Widget *ui;   \/\/\u4f7f\u7528Ui::Widget\u5b9a\u4e49\u7684\u4e00\u4e2a\u6307\u9488<br \/>\n};<br \/>\n#endif<\/p>\n<p>widget.h\u6587\u4ef6\u6709\u51e0\u4e2a\u91cd\u8981\u7684\u90e8\u5206\u3002<\/p>\n<p>&#xff08;1&#xff09;namespace\u58f0\u660e<\/p>\n<p>\u4ee3\u7801\u4e2d\u6709\u5982\u4e0b\u7684\u4e00\u4e2anamespace\u58f0\u660e&#xff1a;<\/p>\n<p>namespace Ui {<br \/>\nclass Widget;<br \/>\n}<\/p>\n<p>\u8fd9\u662f\u58f0\u660e\u4e86\u4e00\u4e2a\u540d\u79f0\u4e3aUi\u7684\u547d\u540d\u7a7a\u95f4&#xff08;namespace&#xff09;&#xff0c;\u5305\u542b\u4e00\u4e2a\u7c7bWidget\u3002\u4f46\u662f\u8fd9\u4e2a\u7c7bWidget\u5e76\u4e0d\u662f\u672c\u6587\u4ef6\u91cc\u5b9a\u4e49\u7684\u7c7bWidget&#xff0c;\u800c\u662fui_widget.h\u6587\u4ef6\u91cc\u5b9a\u4e49\u7684\u7c7b&#xff0c;\u7528\u4e8e\u63cf\u8ff0\u754c\u9762\u7ec4\u4ef6\u7684\u3002\u8fd9\u4e2a\u58f0\u660e\u76f8\u5f53\u4e8e\u4e00\u4e2a\u5916\u90e8\u7c7b\u578b\u58f0\u660e&#xff08;\u5177\u4f53\u8981\u770b\u5b8cui_widget.h\u6587\u4ef6\u5185\u7684\u89e3\u91ca\u4e4b\u540e\u624d\u80fd\u641e\u660e\u767d&#xff09;\u3002<\/p>\n<p>&#xff08;2&#xff09;Widget\u7c7b\u7684\u5b9a\u4e49\u3002widget.h\u6587\u4ef6\u7684\u4e3b\u4f53\u90e8\u5206\u662f\u4e00\u4e2a\u7ee7\u627f\u4e8eQWidget\u7684\u7c7bWidget\u7684\u5b9a\u4e49&#xff0c;\u4e5f\u5c31\u662f\u672c\u5b9e\u4f8b\u7684\u7a97\u4f53\u7c7b\u3002<\/p>\n<p>\u5728Widget\u7c7b\u4e2d\u4f7f\u7528\u4e86\u5b8fQ_OBJECT&#xff0c;\u8fd9\u662f\u4f7f\u7528Qt\u7684\u4fe1\u53f7\u4e0e\u69fd&#xff08;signal\u548cslot&#xff09;\u673a\u5236\u7684\u7c7b\u90fd\u5fc5\u987b\u52a0\u5165\u7684\u4e00\u4e2a\u5b8f&#xff08;\u4fe1\u53f7\u4e0e\u69fd\u5728\u540e\u9762\u8be6\u7ec6\u4ecb\u7ecd&#xff09;\u3002<\/p>\n<p>\u5728public\u90e8\u5206\u5b9a\u4e49\u4e86Widget\u7c7b\u7684\u6784\u9020\u51fd\u6570\u548c\u6790\u6784\u51fd\u6570\u3002<\/p>\n<p>\u5728private\u90e8\u5206\u53c8\u5b9a\u4e49\u4e86\u4e00\u4e2a\u6307\u9488\u3002<\/p>\n<p>Ui::Widget *ui;<\/p>\n<p>\u8fd9\u4e2a\u6307\u9488\u662f\u7528\u524d\u9762\u58f0\u660e\u7684namespace Ui\u91cc\u7684Widget\u7c7b\u5b9a\u4e49\u7684&#xff0c;\u6240\u4ee5\u6307\u9488ui\u662f\u6307\u5411\u53ef\u89c6\u5316\u8bbe\u8ba1\u7684\u754c\u9762&#xff0c;\u540e\u9762\u4f1a\u770b\u5230\u8981\u8bbf\u95ee\u754c\u9762\u4e0a\u7684\u7ec4\u4ef6&#xff0c;\u90fd\u9700\u8981\u901a\u8fc7\u8fd9\u4e2a\u6307\u9488ui\u3002<\/p>\n<h5>2&#xff0e;widget.cpp\u6587\u4ef6<\/h5>\n<p>widget.cpp\u6587\u4ef6\u662f\u7c7bWidget\u7684\u5b9e\u73b0\u4ee3\u7801&#xff0c;\u4e0b\u9762\u662fwidget.cpp\u6587\u4ef6\u7684\u5185\u5bb9\u3002<\/p>\n<p>#include &#034;widget.h&#034;<br \/>\n#include &#034;ui_widget.h&#034;<br \/>\nWidget::Widget(QWidget *parent) :   QWidget(parent),   ui(new Ui::Widget)<br \/>\n{<br \/>\n    ui-&gt;setupUi(this);<br \/>\n}<br \/>\nWidget::~Widget()<br \/>\n{<br \/>\n    delete ui;<br \/>\n}<\/p>\n<p>\u6ce8\u610f\u5230&#xff0c;\u5728\u8fd9\u4e2a\u6587\u4ef6\u7684\u5305\u542b\u6587\u4ef6\u90e8\u5206\u81ea\u52a8\u52a0\u5165\u4e86\u5982\u4e0b\u4e00\u884c\u5185\u5bb9&#xff1a;<\/p>\n<p>#include &#034;ui_widget.h&#034;<\/p>\n<p>\u8fd9\u4e2a\u5c31\u662fQt\u7f16\u8bd1\u751f\u6210\u7684\u4e0eUI\u6587\u4ef6widget.ui\u5bf9\u5e94\u7684\u7c7b\u5b9a\u4e49\u6587\u4ef6\u3002<\/p>\n<p>\u76ee\u524d\u53ea\u6709\u6784\u9020\u51fd\u6570\u548c\u6790\u6784\u51fd\u6570\u3002\u5176\u4e2d\u6784\u9020\u51fd\u6570\u5934\u90e8\u662f&#xff1a;<\/p>\n<p>Widget::Widget(QWidget *parent) :   QWidget(parent),   ui(new Ui::Widget)<\/p>\n<p>\u5176\u610f\u4e49\u662f&#xff1a;\u6267\u884c\u7236\u7c7bQWidget\u7684\u6784\u9020\u51fd\u6570&#xff0c;\u521b\u5efa\u4e00\u4e2aUi::Widget\u7c7b\u7684\u5bf9\u8c61ui\u3002\u8fd9\u4e2aui\u5c31\u662fWidget\u7684private\u90e8\u5206\u5b9a\u4e49\u7684\u6307\u9488\u53d8\u91cfui\u3002<\/p>\n<p>\u6784\u9020\u51fd\u6570\u91cc\u53ea\u6709\u4e00\u884c\u8bed\u53e5&#xff1a;<\/p>\n<p>ui-&gt;setupUi(this)<\/p>\n<p>\u5b83\u662f\u6267\u884c\u4e86Ui::Widget\u7c7b\u7684setupUi()\u51fd\u6570&#xff0c;\u8fd9\u4e2a\u51fd\u6570\u5b9e\u73b0\u7a97\u53e3\u7684\u751f\u6210\u4e0e\u5404\u79cd\u5c5e\u6027\u7684\u8bbe\u7f6e\u3001\u4fe1\u53f7\u4e0e\u69fd\u7684\u5173\u8054&#xff08;\u540e\u9762\u4f1a\u5177\u4f53\u4ecb\u7ecd&#xff09;\u3002<\/p>\n<p>\u6790\u6784\u51fd\u6570\u53ea\u662f\u7b80\u5355\u5730\u5220\u9664\u7528new\u521b\u5efa\u7684\u6307\u9488ui\u3002<\/p>\n<p>\u6240\u4ee5&#xff0c;\u5728ui_widget.h\u6587\u4ef6\u91cc\u6709\u4e00\u4e2anamespace\u540d\u79f0\u4e3aUi&#xff0c;\u91cc\u9762\u6709\u4e00\u4e2a\u7c7bWidget\u662f\u7528\u4e8e\u63cf\u8ff0\u53ef\u89c6\u5316\u8bbe\u8ba1\u7684\u7a97\u4f53&#xff0c;\u4e14\u4e0ewidget.h\u91cc\u5b9a\u4e49\u7684\u7c7b\u540c\u540d\u3002\u5728Widget\u7c7b\u91cc\u8bbf\u95eeUi::Widget\u7c7b\u7684\u6210\u5458\u53d8\u91cf\u6216\u51fd\u6570\u9700\u8981\u901a\u8fc7Widget\u7c7b\u91cc\u7684ui\u6307\u9488&#xff0c;\u5982\u540c\u6784\u9020\u51fd\u6570\u91cc\u6267\u884cui-&gt;setupUi(this)\u51fd\u6570\u90a3\u6837\u3002<\/p>\n<h5>3&#xff0e;widget.ui\u6587\u4ef6<\/h5>\n<p>widget.ui\u662f\u7a97\u4f53\u754c\u9762\u5b9a\u4e49\u6587\u4ef6&#xff0c;\u662f\u4e00\u4e2aXML\u6587\u4ef6&#xff0c;\u5b9a\u4e49\u4e86\u7a97\u53e3\u4e0a\u7684\u6240\u6709\u7ec4\u4ef6\u7684\u5c5e\u6027\u8bbe\u7f6e\u3001\u5e03\u5c40&#xff0c;\u53ca\u5176\u4fe1\u53f7\u4e0e\u69fd\u51fd\u6570\u7684\u5173\u8054\u7b49\u3002\u7528UI\u8bbe\u8ba1\u5668\u53ef\u89c6\u5316\u8bbe\u8ba1\u7684\u754c\u9762\u90fd\u7531Qt\u81ea\u52a8\u89e3\u6790&#xff0c;\u5e76\u4ee5XML\u6587\u4ef6\u7684\u5f62\u5f0f\u4fdd\u5b58\u4e0b\u6765\u3002\u5728\u8bbe\u8ba1\u754c\u9762\u65f6&#xff0c;\u53ea\u9700\u5728UI\u8bbe\u8ba1\u5668\u91cc\u8fdb\u884c\u53ef\u89c6\u5316\u8bbe\u8ba1\u5373\u53ef&#xff0c;\u800c\u4e0d\u7528\u7ba1widget.ui\u6587\u4ef6\u662f\u600e\u4e48\u751f\u6210\u7684\u3002<\/p>\n<p>\u4e0b\u9762\u662fwidget.ui\u6587\u4ef6\u7684\u5185\u5bb9\u3002<\/p>\n<p>&lt;?xml version&#061;&#034;1.0&#034; encoding&#061;&#034;UTF-8&#034;?&gt;<br \/>\n&lt;ui version&#061;&#034;4.0&#034;&gt;<br \/>\n &lt;class&gt;Widget&lt;\/class&gt;<br \/>\n &lt;widget class&#061;&#034;QWidget&#034; name&#061;&#034;Widget&#034;&gt;<br \/>\n  &lt;property name&#061;&#034;geometry&#034;&gt;<br \/>\n   &lt;rect&gt;<br \/>\n    &lt;x&gt;0&lt;\/x&gt;<br \/>\n    &lt;y&gt;0&lt;\/y&gt;<br \/>\n    &lt;width&gt;336&lt;\/width&gt;<br \/>\n    &lt;height&gt;216&lt;\/height&gt;<br \/>\n   &lt;\/rect&gt;<br \/>\n  &lt;\/property&gt;<br \/>\n  &lt;property name&#061;&#034;windowTitle&#034;&gt;<br \/>\n   &lt;string&gt;My First Demo&lt;\/string&gt;<br \/>\n  &lt;\/property&gt;<br \/>\n  &lt;widget class&#061;&#034;QLabel&#034; name&#061;&#034;LabDemo&#034;&gt;<br \/>\n   &lt;property name&#061;&#034;geometry&#034;&gt;<br \/>\n    &lt;rect&gt;<br \/>\n     &lt;x&gt;60&lt;\/x&gt;<br \/>\n     &lt;y&gt;50&lt;\/y&gt;<br \/>\n     &lt;width&gt;211&lt;\/width&gt;<br \/>\n     &lt;height&gt;51&lt;\/height&gt;<br \/>\n    &lt;\/rect&gt;<br \/>\n   &lt;\/property&gt;<br \/>\n   &lt;property name&#061;&#034;font&#034;&gt;<br \/>\n    &lt;font&gt;<br \/>\n     &lt;pointsize&gt;20&lt;\/pointsize&gt;<br \/>\n     &lt;weight&gt;75&lt;\/weight&gt;<br \/>\n     &lt;bold&gt;true&lt;\/bold&gt;<br \/>\n    &lt;\/font&gt;<br \/>\n   &lt;\/property&gt;<br \/>\n   &lt;property name&#061;&#034;text&#034;&gt;<br \/>\n    &lt;string&gt;Hello, World&lt;\/string&gt;<br \/>\n   &lt;\/property&gt;<br \/>\n  &lt;\/widget&gt;<br \/>\n  &lt;widget class&#061;&#034;QPushButton&#034; name&#061;&#034;btnClose&#034;&gt;<br \/>\n   &lt;property name&#061;&#034;geometry&#034;&gt;<br \/>\n    &lt;rect&gt;<br \/>\n     &lt;x&gt;200&lt;\/x&gt;<br \/>\n     &lt;y&gt;140&lt;\/y&gt;<br \/>\n     &lt;width&gt;81&lt;\/width&gt;<br \/>\n     &lt;height&gt;31&lt;\/height&gt;<br \/>\n    &lt;\/rect&gt;<br \/>\n   &lt;\/property&gt;<br \/>\n   &lt;property name&#061;&#034;text&#034;&gt;<br \/>\n    &lt;string&gt;Close&lt;\/string&gt;<br \/>\n   &lt;\/property&gt;<br \/>\n  &lt;\/widget&gt;<br \/>\n &lt;\/widget&gt;<br \/>\n &lt;layoutdefault spacing&#061;&#034;6&#034; margin&#061;&#034;11&#034;\/&gt;<br \/>\n &lt;resources\/&gt;<br \/>\n &lt;connections&gt;<br \/>\n  &lt;connection&gt;<br \/>\n   &lt;sender&gt;btnClose&lt;\/sender&gt;<br \/>\n   &lt;signal&gt;clicked()&lt;\/signal&gt;<br \/>\n   &lt;receiver&gt;Widget&lt;\/receiver&gt;<br \/>\n   &lt;slot&gt;close()&lt;\/slot&gt;<br \/>\n   &lt;hints&gt;<br \/>\n    &lt;hint type&#061;&#034;sourcelabel&#034;&gt;<br \/>\n     &lt;x&gt;240&lt;\/x&gt;<br \/>\n     &lt;y&gt;195&lt;\/y&gt;<br \/>\n    &lt;\/hint&gt;<br \/>\n    &lt;hint type&#061;&#034;destinationlabel&#034;&gt;<br \/>\n     &lt;x&gt;199&lt;\/x&gt;<br \/>\n     &lt;y&gt;149&lt;\/y&gt;<br \/>\n    &lt;\/hint&gt;<br \/>\n   &lt;\/hints&gt;<br \/>\n  &lt;\/connection&gt;<br \/>\n &lt;\/connections&gt;<br \/>\n&lt;\/ui&gt;<\/p>\n<h5>4&#xff0e;ui_widget.h\u6587\u4ef6<\/h5>\n<p>ui_widget.h\u662f\u5728\u5bf9widget.ui\u6587\u4ef6\u7f16\u8bd1\u540e\u751f\u6210\u7684\u4e00\u4e2a\u6587\u4ef6&#xff0c;ui_widget.h\u4f1a\u51fa\u73b0\u5728\u7f16\u8bd1\u540e\u7684\u76ee\u5f55\u4e0b&#xff0c;\u6216\u4e0ewidget.ui\u540c\u76ee\u5f55&#xff08;\u4e0e\u9879\u76ee\u7684shadow build\u7f16\u8bd1\u8bbe\u7f6e\u6709\u5173&#xff09;\u3002<\/p>\n<p>\u6587\u4ef6ui_widget.h\u5e76\u4e0d\u4f1a\u51fa\u73b0\u5728Qt Creator\u7684\u9879\u76ee\u6587\u4ef6\u76ee\u5f55\u6811\u91cc&#xff0c;\u5f53\u7136&#xff0c;\u53ef\u4ee5\u624b\u5de5\u5c06ui_widget.h\u6dfb\u52a0\u5230\u9879\u76ee\u4e2d\u3002\u65b9\u6cd5\u662f\u5728\u9879\u76ee\u6587\u4ef6\u76ee\u5f55\u6811\u4e0a&#xff0c;\u53f3\u51fb\u9879\u76ee\u540d\u79f0\u8282\u70b9&#xff0c;\u5728\u8c03\u51fa\u7684\u5feb\u6377\u83dc\u5355\u4e2d\u9009\u62e9\u201cAdd Existing Files\u2026\u201d&#xff0c;\u627e\u5230\u5e76\u6dfb\u52a0ui_widget.h\u6587\u4ef6\u5373\u53ef\u3002<\/p>\n<p>\u6ce8\u610f&#xff1a;ui_widget.h\u662f\u5bf9widget.ui\u6587\u4ef6\u7f16\u8bd1\u540e\u81ea\u52a8\u751f\u6210\u7684&#xff0c;widget.ui\u53c8\u662f\u901a\u8fc7UI\u8bbe\u8ba1\u5668\u53ef\u89c6\u5316\u8bbe\u8ba1\u751f\u6210\u7684\u3002\u6240\u4ee5&#xff0c;\u5bf9ui_widget.h\u624b\u5de5\u8fdb\u884c\u4fee\u6539\u6ca1\u6709\u4ec0\u4e48\u610f\u4e49&#xff0c;\u6240\u6709\u6d89\u53ca\u754c\u9762\u7684\u4fee\u6539\u90fd\u5e94\u8be5\u76f4\u63a5\u5728UI\u8bbe\u8ba1\u5668\u91cc\u8fdb\u884c\u3002\u6240\u4ee5&#xff0c;ui_widget.h\u4e5f\u6ca1\u6709\u5fc5\u8981\u6dfb\u52a0\u5230\u9879\u76ee\u91cc\u3002<\/p>\n<p>\u4e0b\u9762\u662fui_widget.h\u6587\u4ef6\u7684\u5185\u5bb9\u3002<\/p>\n<p>\/**********************************************************************<br \/>\n** Form generated from reading UI file &#039;widget.ui&#039;<br \/>\n** Created by: Qt User Interface Compiler version 5.9.0<br \/>\n** WARNING! All changes made in this file will be lost when recompiling UI file!<br \/>\n*********************************************************************\/<br \/>\n#ifndef UI_WIDGET_H<br \/>\n#define UI_WIDGET_H<\/p>\n<p>#include &lt;QtCore\/QVariant&gt;<br \/>\n#include &lt;QtWidgets\/QAction&gt;<br \/>\n#include &lt;QtWidgets\/QApplication&gt;<br \/>\n#include &lt;QtWidgets\/QButtonGroup&gt;<br \/>\n#include &lt;QtWidgets\/QHeaderView&gt;<br \/>\n#include &lt;QtWidgets\/QLabel&gt;<br \/>\n#include &lt;QtWidgets\/QPushButton&gt;<br \/>\n#include &lt;QtWidgets\/QWidget&gt;<\/p>\n<p>Qt_BEGIN_NAMESPACE<br \/>\nclass Ui_Widget<br \/>\n{<br \/>\npublic:<br \/>\n    QLabel *LabDemo;<br \/>\n    QPushButton *btnClose;<\/p>\n<p>    void setupUi(QWidget *Widget)<br \/>\n    {<br \/>\n        if (Widget-&gt;objectName().isEmpty())<br \/>\n            Widget-&gt;setObjectName(QStringLiteral(&#034;Widget&#034;));<br \/>\n        Widget-&gt;resize(280, 168);<br \/>\n        LabDemo &#061; new QLabel(Widget);<br \/>\n        LabDemo-&gt;setObjectName(QStringLiteral(&#034;LabDemo&#034;));<br \/>\n        LabDemo-&gt;setGeometry(QRect(50, 20, 201, 51));<br \/>\n        QFont font;<br \/>\n        font.setPointSize(20);<br \/>\n        font.setBold(true);<br \/>\n        font.setWeight(75);<br \/>\n        LabDemo-&gt;setFont(font);<br \/>\n        btnClose &#061; new QPushButton(Widget);<br \/>\n        btnClose-&gt;setObjectName(QStringLiteral(&#034;btnClose&#034;));<br \/>\n        btnClose-&gt;setGeometry(QRect(150, 120, 75, 23));<\/p>\n<p>        retranslateUi(Widget);<br \/>\n        QObject::connect(btnClose, SIGNAL(clicked()), Widget, SLOT(close()));<br \/>\n        QMetaObject::connectSlotsByName(Widget);<br \/>\n    } \/\/ setupUi<br \/>\n    void retranslateUi(QWidget *Widget)<br \/>\n    {<br \/>\n        Widget-&gt;setWindowTitle(QApplication::translate(&#034;Widget&#034;, &#034;My First Demo&#034;, Q_NULLPTR));<br \/>\n        LabDemo-&gt;setText(QApplication::translate(&#034;Widget&#034;, &#034;Hello, World&#034;, Q_NULLPTR));<br \/>\n        btnClose-&gt;setText(QApplication::translate(&#034;Widget&#034;, &#034;Close&#034;, Q_NULLPTR));<br \/>\n    } \/\/ retranslateUi<br \/>\n};<\/p>\n<p>namespace Ui {<br \/>\n    class Widget: public Ui_Widget {};<br \/>\n} \/\/ namespace Ui<br \/>\nQt_END_NAMESPACE<br \/>\n#endif \/\/ UI_WIDGET_H<\/p>\n<p>\u67e5\u770bui_widget.h\u6587\u4ef6\u7684\u5185\u5bb9&#xff0c;\u53d1\u73b0\u5b83\u4e3b\u8981\u505a\u4e86\u4ee5\u4e0b\u7684\u4e00\u4e9b\u5de5\u4f5c\u3002<\/p>\n<p>&#xff08;1&#xff09;\u5b9a\u4e49\u4e86\u4e00\u4e2a\u7c7bUi_Widget&#xff0c;\u7528\u4e8e\u5c01\u88c5\u53ef\u89c6\u5316\u8bbe\u8ba1\u7684\u754c\u9762\u3002<\/p>\n<p>&#xff08;2&#xff09;\u81ea\u52a8\u751f\u6210\u4e86\u754c\u9762\u5404\u4e2a\u7ec4\u4ef6\u7684\u7c7b\u6210\u5458\u53d8\u91cf\u5b9a\u4e49\u3002\u5728public\u90e8\u5206\u4e3a\u754c\u9762\u4e0a\u6bcf\u4e2a\u7ec4\u4ef6\u5b9a\u4e49\u4e86\u4e00\u4e2a\u6307\u9488\u53d8\u91cf&#xff0c;\u53d8\u91cf\u7684\u540d\u79f0\u5c31\u662f\u8bbe\u7f6e\u7684objectName\u3002\u6bd4\u5982&#xff0c;\u5728\u7a97\u4f53\u4e0a\u653e\u7f6e\u4e86\u4e00\u4e2aQLabel\u548c\u4e00\u4e2aQPushButton\u5e76\u547d\u540d\u540e&#xff0c;\u81ea\u52a8\u751f\u6210\u7684\u5b9a\u4e49\u662f&#xff1a;<\/p>\n<p>QLabel *LabDemo;<br \/>\nQPushButton *btnClose;<\/p>\n<p>&#xff08;3&#xff09;\u5b9a\u4e49\u4e86setupUi()\u51fd\u6570&#xff0c;\u8fd9\u4e2a\u51fd\u6570\u7528\u4e8e\u521b\u5efa\u5404\u4e2a\u754c\u9762\u7ec4\u4ef6&#xff0c;\u5e76\u8bbe\u7f6e\u5176\u4f4d\u7f6e\u3001\u5927\u5c0f\u3001\u6587\u5b57\u5185\u5bb9\u3001\u5b57\u4f53\u7b49\u5c5e\u6027&#xff0c;\u8bbe\u7f6e\u4fe1\u53f7\u4e0e\u69fd\u7684\u5173\u8054\u3002<\/p>\n<p>setupUi()\u51fd\u6570\u4f53\u7684\u7b2c\u4e00\u90e8\u5206\u662f\u6839\u636e\u53ef\u89c6\u5316\u8bbe\u8ba1\u7684\u754c\u9762\u5185\u5bb9&#xff0c;\u7528C&#043;&#043;\u4ee3\u7801\u521b\u5efa\u754c\u9762\u4e0a\u5404\u7ec4\u4ef6&#xff0c;\u5e76\u8bbe\u7f6e\u5176\u5c5e\u6027\u3002<\/p>\n<p>\u63a5\u4e0b\u6765&#xff0c;setupUi()\u8c03\u7528\u4e86\u51fd\u6570retranslateUi(Widget)&#xff0c;\u7528\u6765\u8bbe\u7f6e\u754c\u9762\u5404\u7ec4\u4ef6\u7684\u6587\u5b57\u5185\u5bb9\u5c5e\u6027&#xff0c;\u5982\u6807\u7b7e\u7684\u6587\u5b57\u3001\u6309\u952e\u7684\u6587\u5b57\u3001\u7a97\u4f53\u7684\u6807\u9898\u7b49\u3002\u5c06\u754c\u9762\u4e0a\u7684\u6587\u5b57\u8bbe\u7f6e\u7684\u5185\u5bb9\u72ec\u7acb\u51fa\u6765\u4f5c\u4e3a\u4e00\u4e2a\u51fd\u6570retranslateUi()&#xff0c;\u5728\u8bbe\u8ba1\u591a\u8bed\u8a00\u754c\u9762\u65f6\u4f1a\u7528\u5230\u8fd9\u4e2a\u51fd\u6570\u3002<\/p>\n<p>setupUi()\u51fd\u6570\u7684\u7b2c\u4e09\u90e8\u5206\u662f\u8bbe\u7f6e\u4fe1\u53f7\u4e0e\u69fd\u7684\u5173\u8054&#xff0c;\u672c\u6587\u4ef6\u4e2d\u6709\u4ee5\u4e0b\u4e24\u884c&#xff1a;<\/p>\n<p>QObject::connect(btnClose, SIGNAL(clicked()), Widget, SLOT(close()));<br \/>\nQMetaObject::connectSlotsByName(Widget);<\/p>\n<p>\u7b2c1\u884c\u662f\u8c03\u7528connect()\u51fd\u6570&#xff0c;\u5c06\u5728UI\u8bbe\u8ba1\u5668\u91cc\u8bbe\u7f6e\u7684\u4fe1\u53f7\u4e0e\u69fd\u7684\u5173\u8054\u8f6c\u6362\u4e3a\u8bed\u53e5\u3002\u8fd9\u91cc\u662f\u5c06btnClose\u6309\u952e\u7684clicked()\u4fe1\u53f7\u4e0e\u7a97\u4f53Widget\u7684close()\u69fd\u51fd\u6570\u5173\u8054\u8d77\u6765&#xff0c;\u5c31\u662f\u5728\u539f\u4e66\u7684\u56fe2-4\u4e2d\u8bbe\u7f6e\u7684\u4fe1\u53f7\u4e0e\u69fd\u7684\u5173\u8054\u7684\u7a0b\u5e8f\u8bed\u53e5\u5b9e\u73b0\u3002\u8fd9\u6837&#xff0c;\u5f53\u5355\u51fbbtnClose\u6309\u94ae\u65f6&#xff0c;\u5c31\u4f1a\u6267\u884cWidget\u7684close()\u69fd\u51fd\u6570&#xff0c;\u800cclose()\u69fd\u51fd\u6570\u7684\u529f\u80fd\u662f\u5173\u95ed\u7a97\u53e3\u3002<\/p>\n<p>\u7b2c2\u884c\u662f\u8bbe\u7f6e\u69fd\u51fd\u6570\u7684\u5173\u8054\u65b9\u5f0f&#xff0c;\u7528\u4e8e\u5c06UI\u8bbe\u8ba1\u5668\u81ea\u52a8\u751f\u6210\u7684\u7ec4\u4ef6\u4fe1\u53f7\u7684\u69fd\u51fd\u6570\u4e0e\u7ec4\u4ef6\u4fe1\u53f7\u76f8\u5173\u8054\u3002<\/p>\n<p>\u6240\u4ee5&#xff0c;\u5728Widget\u7684\u6784\u9020\u51fd\u6570\u91cc\u8c03\u7528 ui-&gt;setupUI(this)&#xff0c;\u5c31\u5b9e\u73b0\u4e86\u7a97\u4f53\u4e0a\u7ec4\u4ef6\u7684\u521b\u5efa\u3001\u5c5e\u6027\u8bbe\u7f6e\u3001\u4fe1\u53f7\u4e0e\u69fd\u7684\u5173\u8054\u3002<\/p>\n<p>&#xff08;4&#xff09;\u5b9a\u4e49namespace Ui&#xff0c;\u5e76\u5b9a\u4e49\u4e00\u4e2a\u4eceUi_Widget\u7ee7\u627f\u7684\u7c7bWidget\u3002<\/p>\n<p>namespace Ui {<br \/>\n    class Widget: public Ui_Widget {};<br \/>\n}<\/p>\n<p>\u63d0\u793a&#xff1a;ui_widget.h\u6587\u4ef6\u91cc\u5b9e\u73b0\u754c\u9762\u529f\u80fd\u7684\u7c7b\u662fUi_Widget\u3002\u518d\u5b9a\u4e49\u4e00\u4e2a\u7c7bWidget\u4eceUi_Widget\u7ee7\u627f\u800c\u6765&#xff0c;\u5e76\u5b9a\u4e49\u5728namespace Ui\u91cc&#xff0c;\u8fd9\u6837Ui:: Widget\u4e0ewidget.h\u91cc\u7684\u7c7bWidget\u540c\u540d&#xff0c;\u4f46\u662f\u7528namespace\u533a\u5206\u5f00\u6765\u3002\u6240\u4ee5&#xff0c;\u754c\u9762\u7684Ui:: Widget\u7c7b\u4e0e\u6587\u4ef6widget.h\u91cc\u5b9a\u4e49\u7684Widget\u7c7b\u5b9e\u9645\u4e0a\u662f\u4e24\u4e2a\u7c7b&#xff0c;\u4f46\u662fQt\u7684\u5904\u7406\u8ba9\u7528\u6237\u611f\u89c9\u4e0d\u5230Ui:: Widget\u7c7b\u7684\u5b58\u5728&#xff0c;\u53ea\u9700\u8981\u77e5\u9053\u5728Widget\u7c7b\u91cc\u7528ui\u6307\u9488\u53ef\u4ee5\u8bbf\u95ee\u53ef\u89c6\u5316\u8bbe\u8ba1\u7684\u754c\u9762\u7ec4\u4ef6\u5c31\u53ef\u4ee5\u4e86\u3002<\/p>\n<h3>2.2\u3000\u53ef\u89c6\u5316UI\u8bbe\u8ba1<\/h3>\n<p>\u5728\u4e0a\u4e00\u8282&#xff0c;\u901a\u8fc7\u4e00\u4e2a\u7b80\u5355\u7684\u5e94\u7528\u7a0b\u5e8f&#xff0c;\u5206\u6790\u4e86Qt\u521b\u5efa\u7684GUI\u5e94\u7528\u7a0b\u5e8f\u4e2d\u5404\u4e2a\u6587\u4ef6\u7684\u4f5c\u7528&#xff0c;\u5256\u6790\u4e86\u53ef\u89c6\u5316\u8bbe\u8ba1\u7684UI\u6587\u4ef6\u662f\u5982\u4f55\u88ab\u8f6c\u6362\u4e3aC&#043;&#043;\u7684\u7c7b\u5b9a\u4e49&#xff0c;\u5e76\u81ea\u52a8\u521b\u5efa\u754c\u9762\u7684\u3002\u8fd9\u4e9b\u662f\u4f7f\u7528Qt Creator\u53ef\u89c6\u5316\u8bbe\u8ba1\u7528\u6237\u754c\u9762&#xff0c;\u5e76\u4f7f\u5404\u4e2a\u90e8\u5206\u878d\u5408\u8d77\u6765\u8fd0\u884c\u7684\u57fa\u672c\u539f\u7406\u3002<\/p>\n<p>\u672c\u8282\u518d\u4ee5\u4e00\u4e2a\u7a0d\u5fae\u590d\u6742\u7684\u4f8b\u5b50\u6765\u8bb2\u89e3\u8bbe\u8ba1GUI\u7684\u5e38\u89c1\u529f\u80fd&#xff0c;\u5305\u62ec\u754c\u9762\u8bbe\u8ba1\u65f6\u5e03\u5c40\u7684\u7ba1\u7406&#xff0c;\u7a0b\u5e8f\u91cc\u5982\u4f55\u8bbf\u95ee\u754c\u9762\u7ec4\u4ef6&#xff0c;\u4ee5\u53caQt\u5173\u952e\u7684\u4fe1\u53f7\u4e0e\u69fd\u7684\u6982\u5ff5\u3002<\/p>\n<h4>2.2.1\u3000\u5b9e\u4f8b\u7a0b\u5e8f\u529f\u80fd<\/h4>\n<p>\u521b\u5efa\u4e00\u4e2aWidget Application\u9879\u76eesamp2_2&#xff0c;\u5728\u521b\u5efa\u7a97\u4f53\u65f6\u9009\u62e9\u57fa\u7c7bQDialog&#xff0c;\u751f\u6210\u7684\u7c7b\u547d\u540d\u4e3aQWDialog&#xff0c;\u5e76\u9009\u62e9\u751f\u6210\u7a97\u4f53\u3002<\/p>\n<p>\u5982\u6b64\u65b0\u5efa\u7684\u9879\u76eesamp2_2\u6709\u4e00\u4e2a\u754c\u9762\u6587\u4ef6qwdialog.ui&#xff0c;\u4e00\u4e2a\u5934\u6587\u4ef6qwdialog.h\u548c\u6e90\u7a0b\u5e8f\u6587\u4ef6qwdialog.cpp\u3002\u6b64\u5916&#xff0c;\u8fd8\u6709\u9879\u76ee\u6587\u4ef6samp2_2.pro\u548c\u4e3b\u7a0b\u5e8f\u6587\u4ef6main.cpp\u3002<\/p>\n<p>qwdialog.ui\u754c\u9762\u6587\u4ef6\u8bbe\u8ba1\u65f6\u754c\u9762\u5982\u539f\u4e66\u7684\u56fe2-6\u6240\u793a\u3002\u7a0b\u5e8f\u7684\u4e3b\u8981\u529f\u80fd\u662f\u5bf9\u4e2d\u95f4\u4e00\u4e2a\u6587\u672c\u6846\u7684\u6587\u5b57\u5b57\u4f53\u6837\u5f0f\u548c\u989c\u8272\u8fdb\u884c\u8bbe\u7f6e\u3002<\/p>\n<p>\u5728\u754c\u9762\u8bbe\u8ba1\u65f6&#xff0c;\u5bf9\u9700\u8981\u8bbf\u95ee\u7684\u7ec4\u4ef6\u4fee\u6539\u5176objectName&#xff0c;\u5982\u5404\u4e2a\u6309\u94ae\u3001\u9700\u8981\u8bfb\u53d6\u8f93\u5165\u7684\u7f16\u8f91\u6846\u3001\u9700\u8981\u663e\u793a\u7ed3\u679c\u7684\u6807\u7b7e\u7b49&#xff0c;\u4ee5\u4fbf\u5728\u7a0b\u5e8f\u91cc\u533a\u5206\u3002\u5bf9\u4e8e\u4e0d\u9700\u8981\u7a0b\u5e8f\u8bbf\u95ee\u7684\u7ec4\u4ef6\u5219\u65e0\u9700\u4fee\u6539\u5176objectName&#xff0c;\u5982\u7528\u4e8e\u754c\u9762\u4e0a\u7ec4\u4ef6\u5206\u7ec4\u7684GroupBox\u3001Frame\u3001\u5e03\u5c40\u7b49&#xff0c;\u8ba9UI\u8bbe\u8ba1\u5668\u81ea\u52a8\u547d\u540d\u5373\u53ef\u3002<\/p>\n<p>\u5bf9\u56fe2-6\u4e2d\u51e0\u4e2a\u4e3b\u8981\u7ec4\u4ef6\u7684\u547d\u540d\u3001\u5c5e\u6027\u8bbe\u7f6e\u89c1\u88682-3\u3002<\/p>\n<p>\u88682-3\u3000qwdialog.ui\u4e2d\u5404\u4e2a\u7ec4\u4ef6\u7684\u76f8\u5173\u8bbe\u7f6e<\/p>\n<table>\n<tr>\u5bf9\u8c61\u540d\u7c7b\u540d\u79f0\u5c5e\u6027\u8bbe\u7f6e\u5907\u6ce8<\/tr>\n<tbody>\n<tr>\n<td>txtEdit<\/td>\n<td>QPlainTextEdit<\/td>\n<td>Text&#061;&#034;Hello, World\\\\nIt is my demo. &#034;; Font.PointSize&#061;20<\/td>\n<td>\u7528\u4e8e\u663e\u793a\u6587\u5b57\u5185\u5bb9&#xff0c;\u53ef\u7f16\u8f91<\/td>\n<\/tr>\n<tr>\n<td>chkBoxUnder<\/td>\n<td>QCheckBox<\/td>\n<td>Text&#061;\u201cUnderline\u201d<\/td>\n<td>\u8bbe\u7f6e\u5b57\u4f53\u4e3a\u4e0b\u5212\u7ebf<\/td>\n<\/tr>\n<tr>\n<td>chkBoxItalic<\/td>\n<td>QCheckBox<\/td>\n<td>Text&#061;\u201cItalic\u201d<\/td>\n<td>\u8bbe\u7f6e\u5b57\u4f53\u4e3a\u659c\u4f53<\/td>\n<\/tr>\n<tr>\n<td>chkBoxBold<\/td>\n<td>QCheckBox<\/td>\n<td>Text&#061;\u201cBold\u201d<\/td>\n<td>\u8bbe\u7f6e\u5b57\u4f53\u4e3a\u7c97\u4f53<\/td>\n<\/tr>\n<tr>\n<td>rBtnBlack<\/td>\n<td>QRadioButton<\/td>\n<td>Text&#061;\u201cBlack\u201d<\/td>\n<td>\u5b57\u4f53\u989c\u8272\u4e3a\u9ed1\u8272<\/td>\n<\/tr>\n<tr>\n<td>rBtnRed<\/td>\n<td>QRadioButton<\/td>\n<td>Text&#061;\u201cRed\u201d<\/td>\n<td>\u5b57\u4f53\u989c\u8272\u4e3a\u7ea2\u8272<\/td>\n<\/tr>\n<tr>\n<td>rBtnBlue<\/td>\n<td>QRadioButton<\/td>\n<td>Text&#061;\u201cBlue\u201d<\/td>\n<td>\u5b57\u4f53\u989c\u8272\u4e3a\u84dd\u8272<\/td>\n<\/tr>\n<tr>\n<td>btnOK<\/td>\n<td>QPushButton<\/td>\n<td>Text&#061;\u201c\u786e \u5b9a\u201d<\/td>\n<td>\u8fd4\u56de\u786e\u5b9a&#xff0c;\u5e76\u5173\u95ed\u7a97\u53e3<\/td>\n<\/tr>\n<tr>\n<td>btnCancel<\/td>\n<td>QPushButton<\/td>\n<td>Text&#061;\u201c\u53d6 \u6d88\u201d<\/td>\n<td>\u8fd4\u56de\u53d6\u6d88&#xff0c;\u5e76\u5173\u95ed\u7a97\u53e3<\/td>\n<\/tr>\n<tr>\n<td>btnClose<\/td>\n<td>QPushButton<\/td>\n<td>Text&#061;\u201c\u9000 \u51fa\u201d<\/td>\n<td>\u9000\u51fa\u7a0b\u5e8f<\/td>\n<\/tr>\n<tr>\n<td>QWDialog<\/td>\n<td>QWDialog<\/td>\n<td>windowTitle&#061;\u201cDialog by Designer\u201d<\/td>\n<td>\u754c\u9762\u7a97\u53e3\u7684\u7c7b\u540d\u79f0\u662fQWDialog&#xff0c;objectName\u4e0d\u8981\u4fee\u6539<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u5bf9\u4e8e\u754c\u9762\u7ec4\u4ef6\u7684\u5c5e\u6027\u8bbe\u7f6e&#xff0c;\u9700\u8981\u6ce8\u610f\u4ee5\u4e0b\u51e0\u70b9\u3002<\/p>\n<p>&#xff08;1&#xff09;objectName\u662f\u7a97\u4f53\u4e0a\u521b\u5efa\u7684\u7ec4\u4ef6\u7684\u5b9e\u4f8b\u540d\u79f0&#xff0c;\u754c\u9762\u4e0a\u7684\u6bcf\u4e2a\u7ec4\u4ef6\u9700\u8981\u6709\u4e00\u4e2a\u552f\u4e00\u7684objectName&#xff0c;\u7a0b\u5e8f\u91cc\u8bbf\u95ee\u754c\u9762\u7ec4\u4ef6\u65f6\u90fd\u662f\u901a\u8fc7\u5176objectName\u8fdb\u884c\u8bbf\u95ee&#xff0c;\u81ea\u52a8\u751f\u6210\u7684\u69fd\u51fd\u6570\u540d\u79f0\u91cc\u4e5f\u6709objectName\u3002\u6240\u4ee5&#xff0c;\u7ec4\u4ef6\u7684objectName\u9700\u8981\u5728\u8bbe\u8ba1\u7a0b\u5e8f\u4e4b\u524d\u8bbe\u7f6e\u597d&#xff0c;\u8bbe\u7f6e\u597d\u4e4b\u540e\u4e00\u822c\u4e0d\u8981\u518d\u6539\u52a8\u3002\u82e5\u8bbe\u8ba1\u7a0b\u5e8f\u4e4b\u540e\u518d\u6539\u52a8objectName&#xff0c;\u6d89\u53ca\u7684\u4ee3\u7801\u9700\u8981\u76f8\u5e94\u7684\u6539\u52a8\u3002<\/p>\n<p>&#xff08;2&#xff09;\u7a97\u4f53\u7684objectName\u5c31\u662f\u7a97\u4f53\u7684\u7c7b\u540d\u79f0&#xff0c;\u5728UI\u8bbe\u8ba1\u5668\u91cc\u4e0d\u8981\u4fee\u6539\u7a97\u4f53\u7684objectName&#xff0c;\u7a97\u4f53\u7684\u5b9e\u4f8b\u540d\u79f0\u9700\u8981\u5728\u4f7f\u7528\u7a97\u4f53\u7684\u4ee3\u7801\u91cc\u53bb\u5b9a\u4e49\u3002<\/p>\n<h4>2.2.2\u3000\u754c\u9762\u7ec4\u4ef6\u5e03\u5c40<\/h4>\n<p>Qt\u7684\u754c\u9762\u8bbe\u8ba1\u4f7f\u7528\u4e86\u5e03\u5c40&#xff08;Layout&#xff09;\u529f\u80fd\u3002\u6240\u8c13\u5e03\u5c40&#xff0c;\u5c31\u662f\u754c\u9762\u4e0a\u7ec4\u4ef6\u7684\u6392\u5217\u65b9\u5f0f&#xff0c;\u4f7f\u7528\u5e03\u5c40\u53ef\u4ee5\u4f7f\u7ec4\u4ef6\u6709\u89c4\u5219\u5730\u5206\u5e03&#xff0c;\u5e76\u4e14\u968f\u7740\u7a97\u4f53\u5927\u5c0f\u53d8\u5316\u81ea\u52a8\u5730\u8c03\u6574\u5927\u5c0f\u548c\u76f8\u5bf9\u4f4d\u7f6e\u3002\u5e03\u5c40\u7ba1\u7406\u662fGUI\u8bbe\u8ba1\u7684\u5fc5\u5907\u6280\u5de7&#xff0c;\u4e0b\u9762\u9010\u6b65\u8bb2\u89e3\u5982\u4f55\u5b9e\u73b0\u539f\u4e66\u7684\u56fe2-6\u6240\u793a\u7684\u754c\u9762\u8bbe\u8ba1\u3002<\/p>\n<h5>1&#xff0e;\u754c\u9762\u7ec4\u4ef6\u7684\u5c42\u6b21\u5173\u7cfb<\/h5>\n<p>\u4e3a\u4e86\u5c06\u754c\u9762\u4e0a\u7684\u5404\u4e2a\u7ec4\u4ef6\u7684\u5206\u5e03\u8bbe\u8ba1\u5f97\u66f4\u52a0\u7f8e\u89c2&#xff0c;\u7ecf\u5e38\u4f7f\u7528\u4e00\u4e9b\u5bb9\u5668\u7c7b&#xff0c;\u5982QgoupBox\u3001QtabWidget\u3001QFrame\u7b49\u3002\u4f8b\u5982&#xff0c;\u5c063\u4e2aCheckBox\u7ec4\u4ef6\u653e\u7f6e\u5728\u4e00\u4e2aGroupBox\u7ec4\u4ef6\u91cc&#xff0c;\u8be5GroupBox\u7ec4\u4ef6\u5c31\u662f\u8fd93\u4e2aCheckBox\u7684\u5bb9\u5668&#xff0c;\u79fb\u52a8\u8fd9\u4e2aGroupBox\u5c31\u4f1a\u540c\u65f6\u79fb\u52a8\u5176\u4e2d\u76843\u4e2aCheckBox\u3002<\/p>\n<p>\u539f\u4e66\u7684\u56fe2-7\u663e\u793a\u7684\u662f\u8bbe\u8ba1\u539f\u4e66\u7684\u56fe2-6\u754c\u9762\u7684\u524d\u671f\u9636\u6bb5\u3002\u5728\u7a97\u4f53\u4e0a\u653e\u7f6e\u4e862\u4e2aGroupBox\u7ec4\u4ef6&#xff0c;\u5728groupBox1\u91cc\u653e\u7f6e3\u4e2aCheckBox\u7ec4\u4ef6&#xff0c;\u5728groupBox2\u91cc\u653e\u7f6e3\u4e2aRadioButton\u7ec4\u4ef6\u3002\u56fe2-7\u53f3\u4fa7Object Inspector\u91cc\u663e\u793a\u4e86\u754c\u9762\u4e0a\u5404\u7ec4\u4ef6\u4e4b\u95f4\u7684\u5c42\u6b21\u5173\u7cfb\u3002<\/p>\n<h5>2&#xff0e;\u5e03\u5c40\u7ba1\u7406<\/h5>\n<p>Qt\u4e3a\u754c\u9762\u8bbe\u8ba1\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u5e03\u5c40\u7ba1\u7406\u529f\u80fd&#xff0c;\u5728UI\u8bbe\u8ba1\u5668\u4e2d&#xff0c;\u7ec4\u4ef6\u9762\u677f\u91cc\u6709Layouts\u548cSpacers\u4e24\u4e2a\u7ec4\u4ef6\u9762\u677f&#xff0c;\u5728\u7a97\u4f53\u4e0a\u65b9\u7684\u5de5\u5177\u680f\u91cc\u6709\u5e03\u5c40\u7ba1\u7406\u7684\u6309\u94ae&#xff08;\u5982\u539f\u4e66\u7684\u56fe2-8\u6240\u793a&#xff09;\u3002<\/p>\n<p>Layouts\u548cSpacers\u4e24\u4e2a\u7ec4\u4ef6\u9762\u677f\u91cc\u7684\u5e03\u5c40\u7ec4\u4ef6\u7684\u529f\u80fd\u89c1\u88682-4\u3002<\/p>\n<p>\u88682-4\u3000\u7ec4\u4ef6\u9762\u677f\u4e0a\u7528\u4e8e\u5e03\u5c40\u7684\u7ec4\u4ef6<\/p>\n<table>\n<tr>\u5e03\u5c40\u7ec4\u4ef6\u529f\u80fd<\/tr>\n<tbody>\n<tr>\n<td>Vertical Layout<\/td>\n<td>\u5782\u76f4\u65b9\u5411\u5e03\u5c40&#xff0c;\u7ec4\u4ef6\u81ea\u52a8\u5728\u5782\u76f4\u65b9\u5411\u4e0a\u5206\u5e03<\/td>\n<\/tr>\n<tr>\n<td>Horizontal Layout<\/td>\n<td>\u6c34\u5e73\u65b9\u5411\u5e03\u5c40&#xff0c;\u7ec4\u4ef6\u81ea\u52a8\u5728\u6c34\u5e73\u65b9\u5411\u4e0a\u5206\u5e03<\/td>\n<\/tr>\n<tr>\n<td>Grid Layout<\/td>\n<td>\u7f51\u683c\u72b6\u5e03\u5c40&#xff0c;\u7f51\u72b6\u5e03\u5c40\u5927\u5c0f\u6539\u53d8\u65f6&#xff0c;\u6bcf\u4e2a\u7f51\u683c\u7684\u5927\u5c0f\u90fd\u6539\u53d8<\/td>\n<\/tr>\n<tr>\n<td>Form Layout<\/td>\n<td>\u7a97\u4f53\u5e03\u5c40&#xff0c;\u4e0e\u7f51\u683c\u72b6\u5e03\u5c40\u7c7b\u4f3c&#xff0c;\u4f46\u662f\u53ea\u6709\u6700\u53f3\u4fa7\u7684\u4e00\u5217\u7f51\u683c\u4f1a\u6539\u53d8\u5927\u5c0f<\/td>\n<\/tr>\n<tr>\n<td>Horizontal Spacer<\/td>\n<td>\u4e00\u4e2a\u7528\u4e8e\u6c34\u5e73\u5206\u9694\u7684\u7a7a\u683c<\/td>\n<\/tr>\n<tr>\n<td>Vertical Spacer<\/td>\n<td>\u4e00\u4e2a\u7528\u4e8e\u5782\u76f4\u5206\u9694\u7684\u7a7a\u683c<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u4f7f\u7528\u7ec4\u4ef6\u9762\u677f\u91cc\u7684\u5e03\u5c40\u7ec4\u4ef6\u8bbe\u8ba1\u5e03\u5c40\u65f6&#xff0c;\u5148\u62d6\u653e\u4e00\u4e2a\u5e03\u5c40\u7ec4\u4ef6\u5230\u7a97\u4f53\u4e0a&#xff0c;\u5982\u5728\u8bbe\u8ba1\u539f\u4e66\u7684\u56fe2-8\u4e2d3\u4e2a\u6309\u94ae\u7684\u5e03\u5c40\u65f6&#xff0c;\u5148\u653e\u4e00\u4e2aHorizontal Layout\u5230\u7a97\u4f53\u4e0a&#xff0c;\u5e03\u5c40\u7ec4\u4ef6\u4f1a\u4ee5\u7ea2\u8272\u8fb9\u6846\u663e\u793a\u3002\u518d\u5f80\u5e03\u5c40\u7ec4\u4ef6\u91cc\u62d6\u653e3\u4e2aPush Button\u548c2\u4e2aHorizontal Spacer&#xff0c;\u5c31\u53ef\u4ee5\u5f97\u5230\u56fe2-8\u4e2d3\u4e2a\u6309\u94ae\u7684\u6c34\u5e73\u5e03\u5c40\u6548\u679c\u3002<\/p>\n<p>\u5728\u8bbe\u8ba1\u7a97\u4f53\u7684\u4e0a\u65b9\u6709\u4e00\u4e2a\u5de5\u5177\u680f&#xff0c;\u7528\u4e8e\u8c03\u6574\u8bbe\u8ba1\u5668\u8fdb\u5165\u4e0d\u540c\u7684\u72b6\u6001&#xff0c;\u4ee5\u53ca\u8fdb\u884c\u5e03\u5c40\u8bbe\u8ba1&#xff0c;\u5de5\u5177\u680f\u4e0a\u5404\u6309\u94ae\u7684\u529f\u80fd\u89c1\u88682-5\u3002<\/p>\n<p>\u88682-5\u3000UI\u8bbe\u8ba1\u5668\u5de5\u5177\u680f\u5404\u6309\u94ae\u7684\u529f\u80fd<\/p>\n<table>\n<tr>\u6309\u94ae\u53ca\u5feb\u6377\u952e\u529f\u80fd<\/tr>\n<tbody>\n<tr>\n<td>Edit Widget (F3)<\/td>\n<td>\u754c\u9762\u8bbe\u8ba1\u8fdb\u5165\u7f16\u8f91\u72b6\u6001&#xff0c;\u5c31\u662f\u6b63\u5e38\u7684\u8bbe\u8ba1\u72b6\u6001<\/td>\n<\/tr>\n<tr>\n<td>Edit Signals\/Slots(F4)<\/td>\n<td>\u8fdb\u5165\u4fe1\u53f7\u4e0e\u69fd\u7684\u53ef\u89c6\u5316\u8bbe\u8ba1\u72b6\u6001<\/td>\n<\/tr>\n<tr>\n<td>Edit Buddies<\/td>\n<td>\u8fdb\u5165\u4f19\u4f34\u5173\u7cfb\u7f16\u8f91\u72b6\u6001&#xff0c;\u53ef\u4ee5\u8bbe\u7f6e\u4e00\u4e2aLabel\u4e0e\u4e00\u4e2a\u7ec4\u4ef6\u6210\u4e3a\u4f19\u4f34\u5173\u7cfb<\/td>\n<\/tr>\n<tr>\n<td>Edit Tab Order<\/td>\n<td>\u8fdb\u5165Tab\u987a\u5e8f\u7f16\u8f91\u72b6\u6001&#xff0c;Tab\u987a\u5e8f\u662f\u5728\u952e\u76d8\u4e0a\u6309Tab\u952e\u65f6&#xff0c;\u8f93\u5165\u7126\u70b9\u5728\u754c\u9762\u5404\u7ec4\u4ef6\u4e4b\u95f4\u8df3\u52a8\u7684\u987a\u5e8f<\/td>\n<\/tr>\n<tr>\n<td>Lay Out Horizontally (Ctrl&#043;H)<\/td>\n<td>\u5c06\u7a97\u4f53\u4e0a\u6240\u9009\u7ec4\u4ef6\u6c34\u5e73\u5e03\u5c40<\/td>\n<\/tr>\n<tr>\n<td>Lay Out Vertically (Ctrl&#043;L)<\/td>\n<td>\u5c06\u7a97\u4f53\u4e0a\u6240\u9009\u7ec4\u4ef6\u5782\u76f4\u5e03\u5c40<\/td>\n<\/tr>\n<tr>\n<td>Lay Out Horizontally in Splitter<\/td>\n<td>\u5c06\u7a97\u4f53\u4e0a\u6240\u9009\u7ec4\u4ef6\u7528\u4e00\u4e2a\u5206\u5272\u6761\u8fdb\u884c\u6c34\u5e73\u5206\u5272\u5e03\u5c40<\/td>\n<\/tr>\n<tr>\n<td>Lay Out Vertically in Splitter<\/td>\n<td>\u5c06\u7a97\u4f53\u4e0a\u6240\u9009\u7ec4\u4ef6\u7528\u4e00\u4e2a\u5206\u5272\u6761\u8fdb\u884c\u5782\u76f4\u5206\u5272\u5e03\u5c40<\/td>\n<\/tr>\n<tr>\n<td>Lay Out in a Form Layout<\/td>\n<td>\u5c06\u7a97\u4f53\u4e0a\u6240\u9009\u7ec4\u4ef6\u6309\u7a97\u4f53\u5e03\u5c40<\/td>\n<\/tr>\n<tr>\n<td>Lay Out in a Grid<\/td>\n<td>\u5c06\u7a97\u4f53\u4e0a\u6240\u9009\u7ec4\u4ef6\u7f51\u683c\u5e03\u5c40<\/td>\n<\/tr>\n<tr>\n<td>Break Layout<\/td>\n<td>\u89e3\u9664\u7a97\u4f53\u4e0a\u6240\u9009\u7ec4\u4ef6\u7684\u5e03\u5c40&#xff0c;\u4e5f\u5c31\u662f\u6253\u6563\u73b0\u6709\u7684\u5e03\u5c40<\/td>\n<\/tr>\n<tr>\n<td>Adjust Size(Ctrl&#043;J)<\/td>\n<td>\u81ea\u52a8\u8c03\u6574\u6240\u9009\u7ec4\u4ef6\u7684\u5927\u5c0f<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u4f7f\u7528\u5de5\u5177\u680f\u4e0a\u7684\u5e03\u5c40\u63a7\u5236\u6309\u94ae\u65f6&#xff0c;\u53ea\u9700\u5728\u7a97\u4f53\u4e0a\u9009\u4e2d\u9700\u8981\u8bbe\u8ba1\u5e03\u5c40\u7684\u7ec4\u4ef6&#xff0c;\u7136\u540e\u70b9\u51fb\u67d0\u4e2a\u5e03\u5c40\u6309\u94ae\u5373\u53ef\u3002\u5728\u7a97\u4f53\u4e0a\u9009\u62e9\u7ec4\u4ef6\u65f6\u540c\u65f6\u6309\u4f4fCtrl\u952e&#xff0c;\u53ef\u4ee5\u5b9e\u73b0\u7ec4\u4ef6\u591a\u9009&#xff0c;\u9009\u62e9\u67d0\u4e2a\u5bb9\u5668\u7c7b\u7ec4\u4ef6&#xff0c;\u76f8\u5f53\u4e8e\u9009\u62e9\u4e86\u5176\u5185\u90e8\u7684\u6240\u6709\u7ec4\u4ef6\u3002\u4f8b\u5982&#xff0c;\u5728\u56fe2-7\u7684\u754c\u9762\u4e2d&#xff0c;\u9009\u4e2dgroupBox1&#xff0c;\u7136\u540e\u5355\u51fb\u201cLay Out Horizontally\u201d\u5de5\u5177\u680f\u6309\u94ae&#xff0c;\u5c31\u53ef\u4ee5\u5bf9groupBox1\u5185\u76843\u4e2aCheckBox\u6c34\u5e73\u5e03\u5c40\u3002<\/p>\n<p>\u5728\u56fe2-8\u7684\u754c\u9762\u4e0a&#xff0c;\u4f7fgroupBox1\u91cc\u76843\u4e2aCheckBox\u6c34\u5e73\u5e03\u5c40&#xff0c;groupBox2\u91cc\u76843\u4e2aRadioButton\u6c34\u5e73\u5e03\u5c40&#xff0c;\u4e0b\u65b93\u4e2a\u6309\u94ae\u6c34\u5e73\u5e03\u5c40\u3002\u5728\u7a97\u4f53\u4e0a\u53c8\u653e\u7f6e\u4e86\u4e00\u4e2aPlainTextEdit\u7ec4\u4ef6\u3002\u73b0\u5728&#xff0c;\u6539\u53d8groupBox1\u3001groupBox2\u6216\u6309\u94ae\u7684\u6c34\u5e73\u5e03\u5c40\u7684\u5927\u5c0f&#xff0c;\u5176\u5185\u90e8\u7ec4\u4ef6\u90fd\u4f1a\u81ea\u52a8\u6539\u53d8\u5927\u5c0f\u3002\u4f46\u662f\u5f53\u6539\u53d8\u7a97\u4f53\u5927\u5c0f\u65f6&#xff0c;\u754c\u9762\u4e0a\u7684\u5404\u7ec4\u4ef6\u5374\u5e76\u4e0d\u4f1a\u81ea\u52a8\u6539\u53d8\u5927\u5c0f\u3002<\/p>\n<p>\u968f\u540e\u8fd8\u9700\u4e3a\u7a97\u4f53\u6307\u5b9a\u4e00\u4e2a\u603b\u7684\u5e03\u5c40\u3002\u9009\u4e2d\u7a97\u4f53&#xff08;\u5373\u4e0d\u8981\u9009\u62e9\u4efb\u4f55\u7ec4\u4ef6&#xff09;&#xff0c;\u5355\u51fb\u5de5\u5177\u680f\u4e0a\u7684\u201cLay Out Vertically\u201d\u6309\u94ae&#xff0c;\u4f7f4\u4e2a\u7ec4\u4ef6\u5782\u76f4\u5206\u5e03\u3002\u8fd9\u6837\u5e03\u5c40\u540e&#xff0c;\u5f53\u7a97\u4f53\u5927\u5c0f\u6539\u53d8\u65f6&#xff0c;\u5404\u4e2a\u7ec4\u4ef6\u90fd\u4f1a\u81ea\u52a8\u6539\u53d8\u5927\u5c0f\u3002<\/p>\n<p>\u5728UI\u8bbe\u8ba1\u5668\u91cc\u53ef\u89c6\u5316\u8bbe\u8ba1\u5e03\u5c40\u65f6&#xff0c;\u8981\u5584\u4e8e\u5229\u7528\u6c34\u5e73\u548c\u5782\u76f4\u7a7a\u683c\u7ec4\u4ef6&#xff0c;\u5584\u4e8e\u8bbe\u7f6e\u7ec4\u4ef6\u7684\u6700\u5927\u3001\u6700\u5c0f\u5bbd\u5ea6\u548c\u9ad8\u5ea6\u6765\u5b9e\u73b0\u67d0\u4e9b\u9700\u8981\u7684\u5e03\u5c40\u6548\u679c\u3002<\/p>\n<h5>3&#xff0e;\u4f19\u4f34\u5173\u7cfb\u4e0eTab\u987a\u5e8f<\/h5>\n<p>\u5728UI\u8bbe\u8ba1\u5de5\u5177\u680f\u4e0a\u5355\u51fb\u201cEdit Buddies\u201d\u6309\u94ae\u53ef\u4ee5\u8fdb\u5165\u4f19\u4f34\u5173\u7cfb\u7f16\u8f91\u72b6\u6001&#xff0c;\u5982\u8bbe\u8ba1\u4e00\u4e2a\u7a97\u4f53\u65f6&#xff0c;\u8fdb\u5165\u4f19\u4f34\u7f16\u8f91\u72b6\u6001\u4e4b\u540e\u7684\u754c\u9762\u5982\u539f\u4e66\u7684\u56fe2-9\u6240\u793a\u3002<\/p>\n<p>\u4f19\u4f34\u5173\u7cfb&#xff08;Buddy&#xff09;\u662f\u6307\u754c\u9762\u4e0a\u4e00\u4e2aLabel\u548c\u4e00\u4e2a\u7ec4\u4ef6\u76f8\u5173\u8054&#xff0c;\u5982\u56fe2-9\u4e2d\u7684\u4f19\u4f34\u5173\u7cfb\u7f16\u8f91\u72b6\u6001&#xff0c;\u5355\u51fb\u4e00\u4e2aLabel&#xff0c;\u6309\u4f4f\u9f20\u6807\u5de6\u952e&#xff0c;\u7136\u540e\u62d6\u5411\u4e00\u4e2a\u7ec4\u4ef6&#xff0c;\u5c31\u5efa\u7acb\u4e86Label\u548c\u7ec4\u4ef6\u4e4b\u95f4\u7684\u4f19\u4f34\u5173\u7cfb\u3002<\/p>\n<p>\u4f19\u4f34\u5173\u7cfb\u662f\u4e3a\u4e86\u5728\u7a0b\u5e8f\u8fd0\u884c\u65f6&#xff0c;\u5728\u7a97\u4f53\u4e0a\u7528\u5feb\u6377\u952e\u5feb\u901f\u5c06\u8f93\u5165\u7126\u70b9\u5207\u6362\u5230\u67d0\u4e2a\u7ec4\u4ef6\u4e0a\u3002\u4f8b\u5982&#xff0c;\u5728\u56fe2-9\u7684\u754c\u9762\u4e0a&#xff0c;\u8bbe\u5b9a\u201c\u59d3\u540d\u201d\u6807\u7b7e\u7684Text\u5c5e\u6027\u4e3a\u201c\u59d3\u540d(&amp;N)\u201d&#xff0c;\u5176\u4e2d\u7b26\u53f7\u201c&amp;\u201d\u7528\u6765\u6307\u5b9a\u5feb\u6377\u5b57\u7b26&#xff0c;\u754c\u9762\u4e0a\u5e76\u4e0d\u663e\u793a\u201c&amp;\u201d&#xff0c;\u8fd9\u91cc\u6307\u5b9a\u5feb\u6377\u5b57\u6bcd\u4e3aN\u3002\u90a3\u4e48\u7a0b\u5e8f\u8fd0\u884c\u65f6&#xff0c;\u7528\u6237\u6309\u4e0bAlt&#043;N&#xff0c;\u8f93\u5165\u7126\u70b9\u5c31\u4f1a\u5feb\u901f\u5207\u6362\u5230\u201c\u59d3\u540d\u201d\u5173\u8054\u7684\u8f93\u5165\u6846\u5185\u3002<\/p>\n<p>\u5728UI\u8bbe\u8ba1\u5668\u5de5\u5177\u680f\u4e0a\u5355\u51fb\u201cEdit Tab Order\u201d\u6309\u94ae\u8fdb\u5165Tab\u987a\u5e8f\u7f16\u8f91\u72b6\u6001&#xff08;\u5982\u56fe2-10\u6240\u793a&#xff09;\u3002Tab\u987a\u5e8f\u662f\u6307\u5728\u7a0b\u5e8f\u8fd0\u884c\u65f6&#xff0c;\u6309\u4e0b\u952e\u76d8\u4e0a\u7684Tab\u952e\u65f6\u8f93\u5165\u7126\u70b9\u7684\u79fb\u52a8\u987a\u5e8f\u3002\u4e00\u4e2a\u597d\u7684\u7528\u6237\u754c\u9762&#xff0c;\u5728\u6309Tab\u952e\u65f6&#xff0c;\u7126\u70b9\u5e94\u8be5\u4ee5\u5408\u7406\u7684\u987a\u5e8f\u5728\u754c\u9762\u4e0a\u79fb\u52a8&#xff0c;\u800c\u4e0d\u662f\u968f\u610f\u5730\u79fb\u52a8\u3002<\/p>\n<p>\u8fdb\u5165Tab\u987a\u5e8f\u7f16\u8f91\u72b6\u6001\u540e&#xff0c;\u5728\u754c\u9762\u4e0a\u4f1a\u663e\u793a\u5177\u6709Tab\u987a\u5e8f\u7ec4\u4ef6\u7684\u7f16\u53f7&#xff0c;\u4f9d\u6b21\u6309\u5e0c\u671b\u7684\u987a\u5e8f\u5355\u51fb\u7ec4\u4ef6&#xff0c;\u5c31\u53ef\u4ee5\u91cd\u6392Tab\u987a\u5e8f\u4e86\u3002\u6ca1\u6709\u8f93\u5165\u7126\u70b9\u7684\u7ec4\u4ef6\u662f\u6ca1\u6709Tab\u987a\u5e8f\u7684&#xff0c;\u5982Label\u7ec4\u4ef6\u3002<\/p>\n<h4>2.2.3\u3000\u4fe1\u53f7\u4e0e\u69fd<\/h4>\n<p>\u4fe1\u53f7\u4e0e\u69fd&#xff08;Signal &amp; Slot&#xff09;\u662fQt\u7f16\u7a0b\u7684\u57fa\u7840&#xff0c;\u4e5f\u662fQt\u7684\u4e00\u5927\u521b\u65b0\u3002\u56e0\u4e3a\u6709\u4e86\u4fe1\u53f7\u4e0e\u69fd\u7684\u7f16\u7a0b\u673a\u5236&#xff0c;\u5728Qt\u4e2d\u5904\u7406\u754c\u9762\u5404\u4e2a\u7ec4\u4ef6\u7684\u4ea4\u4e92\u64cd\u4f5c\u65f6\u53d8\u5f97\u66f4\u52a0\u76f4\u89c2\u548c\u7b80\u5355\u3002<\/p>\n<p>\u4fe1\u53f7&#xff08;Signal&#xff09;\u5c31\u662f\u5728\u7279\u5b9a\u60c5\u51b5\u4e0b\u88ab\u53d1\u5c04\u7684\u4e8b\u4ef6&#xff0c;\u4f8b\u5982PushButton\u6700\u5e38\u89c1\u7684\u4fe1\u53f7\u5c31\u662f\u9f20\u6807\u5355\u51fb\u65f6\u53d1\u5c04\u7684clicked()\u4fe1\u53f7&#xff0c;\u4e00\u4e2aComboBox\u6700\u5e38\u89c1\u7684\u4fe1\u53f7\u662f\u9009\u62e9\u7684\u5217\u8868\u9879\u53d8\u5316\u65f6\u53d1\u5c04\u7684CurrentIndexChanged()\u4fe1\u53f7\u3002GUI\u7a0b\u5e8f\u8bbe\u8ba1\u7684\u4e3b\u8981\u5185\u5bb9\u5c31\u662f\u5bf9\u754c\u9762\u4e0a\u5404\u7ec4\u4ef6\u7684\u4fe1\u53f7\u7684\u54cd\u5e94&#xff0c;\u53ea\u9700\u8981\u77e5\u9053\u4ec0\u4e48\u60c5\u51b5\u4e0b\u53d1\u5c04\u54ea\u4e9b\u4fe1\u53f7&#xff0c;\u5408\u7406\u5730\u53bb\u54cd\u5e94\u548c\u5904\u7406\u8fd9\u4e9b\u4fe1\u53f7\u5c31\u53ef\u4ee5\u4e86\u3002<\/p>\n<p>\u69fd&#xff08;Slot&#xff09;\u5c31\u662f\u5bf9\u4fe1\u53f7\u54cd\u5e94\u7684\u51fd\u6570\u3002\u69fd\u5c31\u662f\u4e00\u4e2a\u51fd\u6570&#xff0c;\u4e0e\u4e00\u822c\u7684C&#043;&#043;\u51fd\u6570\u662f\u4e00\u6837\u7684&#xff0c;\u53ef\u4ee5\u5b9a\u4e49\u5728\u7c7b\u7684\u4efb\u4f55\u90e8\u5206&#xff08;public\u3001private\u6216protected&#xff09;&#xff0c;\u53ef\u4ee5\u5177\u6709\u4efb\u4f55\u53c2\u6570&#xff0c;\u4e5f\u53ef\u4ee5\u88ab\u76f4\u63a5\u8c03\u7528\u3002\u69fd\u51fd\u6570\u4e0e\u4e00\u822c\u7684\u51fd\u6570\u4e0d\u540c\u7684\u662f&#xff1a;\u69fd\u51fd\u6570\u53ef\u4ee5\u4e0e\u4e00\u4e2a\u4fe1\u53f7\u5173\u8054&#xff0c;\u5f53\u4fe1\u53f7\u88ab\u53d1\u5c04\u65f6&#xff0c;\u5173\u8054\u7684\u69fd\u51fd\u6570\u88ab\u81ea\u52a8\u6267\u884c\u3002<\/p>\n<p>\u4fe1\u53f7\u4e0e\u69fd\u5173\u8054\u662f\u7528QObject::connect()\u51fd\u6570\u5b9e\u73b0\u7684&#xff0c;\u5176\u57fa\u672c\u683c\u5f0f\u662f&#xff1a;<\/p>\n<p>QObject::connect(sender, SIGNAL(signal()), receiver, SLOT(slot()));<\/p>\n<p>connect()\u662fQObject\u7c7b\u7684\u4e00\u4e2a\u9759\u6001\u51fd\u6570&#xff0c;\u800cQObject\u662f\u6240\u6709Qt\u7c7b\u7684\u57fa\u7c7b&#xff0c;\u5728\u5b9e\u9645\u8c03\u7528\u65f6\u53ef\u4ee5\u5ffd\u7565\u524d\u9762\u7684\u9650\u5b9a\u7b26&#xff0c;\u6240\u4ee5\u53ef\u4ee5\u76f4\u63a5\u5199\u4e3a&#xff1a;<\/p>\n<p>connect(sender, SIGNAL(signal()), receiver, SLOT(slot()));<\/p>\n<p>\u5176\u4e2d&#xff0c;sender\u662f\u53d1\u5c04\u4fe1\u53f7\u7684\u5bf9\u8c61\u7684\u540d\u79f0&#xff0c;signal()\u662f\u4fe1\u53f7\u540d\u79f0\u3002\u4fe1\u53f7\u53ef\u4ee5\u770b\u505a\u662f\u7279\u6b8a\u7684\u51fd\u6570&#xff0c;\u9700\u8981\u5e26\u62ec\u53f7&#xff0c;\u6709\u53c2\u6570\u65f6\u8fd8\u9700\u8981\u6307\u660e\u53c2\u6570\u3002receiver\u662f\u63a5\u6536\u4fe1\u53f7\u7684\u5bf9\u8c61\u540d\u79f0&#xff0c;slot()\u662f\u69fd\u51fd\u6570\u7684\u540d\u79f0&#xff0c;\u9700\u8981\u5e26\u62ec\u53f7&#xff0c;\u6709\u53c2\u6570\u65f6\u8fd8\u9700\u8981\u6307\u660e\u53c2\u6570\u3002<\/p>\n<p>SIGNAL\u548cSLOT\u662fQt\u7684\u5b8f&#xff0c;\u7528\u4e8e\u6307\u660e\u4fe1\u53f7\u548c\u69fd&#xff0c;\u5e76\u5c06\u5b83\u4eec\u7684\u53c2\u6570\u8f6c\u6362\u4e3a\u76f8\u5e94\u7684\u5b57\u7b26\u4e32\u3002\u4f8b\u5982&#xff0c;\u5728samp2_1\u7684ui_widget.h\u6587\u4ef6\u4e2d&#xff0c;\u5728setupUi( )\u51fd\u6570\u4e2d\u6709\u5982\u4e0b\u7684\u8bed\u53e5&#xff1a;<\/p>\n<p>QObject::connect(btnClose, SIGNAL(clicked()), Widget, SLOT(close()));<\/p>\n<p>\u5176\u4f5c\u7528\u5c31\u662f\u5c06btnClose\u6309\u94ae\u7684clicked()\u4fe1\u53f7\u4e0e\u7a97\u4f53&#xff08;Widget&#xff09;\u7684\u69fd\u51fd\u6570close()\u76f8\u5173\u8054&#xff0c;\u8fd9\u6837&#xff0c;\u5f53\u5355\u51fbbtnClose\u6309\u94ae&#xff08;\u5c31\u662f\u754c\u9762\u4e0a\u7684\u201cClose\u201d\u6309\u94ae&#xff09;\u65f6&#xff0c;\u5c31\u4f1a\u6267\u884cWidget\u7684close()\u69fd\u51fd\u6570\u3002<\/p>\n<p>\u5173\u4e8e\u4fe1\u53f7\u4e0e\u69fd\u7684\u4f7f\u7528&#xff0c;\u6709\u4ee5\u4e0b\u4e00\u4e9b\u89c4\u5219\u9700\u8981\u6ce8\u610f\u3002<\/p>\n<p>&#xff08;1&#xff09;\u4e00\u4e2a\u4fe1\u53f7\u53ef\u4ee5\u8fde\u63a5\u591a\u4e2a\u69fd&#xff0c;\u4f8b\u5982&#xff1a;<\/p>\n<p>connect(spinNum, SIGNAL(valueChanged(int)), this, SLOT(addFun(int));<br \/>\nconnect(spinNum, SIGNAL(valueChanged(int)), this, SLOT(updateStatus(int));<\/p>\n<p>\u8fd9\u662f\u5f53\u4e00\u4e2a\u5bf9\u8c61spinNum\u7684\u6570\u503c\u53d1\u751f\u53d8\u5316\u65f6&#xff0c;\u6240\u5728\u7a97\u4f53\u6709\u4e24\u4e2a\u69fd\u8fdb\u884c\u54cd\u5e94&#xff0c;\u4e00\u4e2aaddFun()\u7528\u4e8e\u8ba1\u7b97&#xff0c;\u4e00\u4e2aupdateStatus()\u7528\u4e8e\u66f4\u65b0\u72b6\u6001\u3002<\/p>\n<p>\u5f53\u4e00\u4e2a\u4fe1\u53f7\u4e0e\u591a\u4e2a\u69fd\u51fd\u6570\u5173\u8054\u65f6&#xff0c;\u69fd\u51fd\u6570\u6309\u7167\u5efa\u7acb\u8fde\u63a5\u65f6\u7684\u987a\u5e8f\u4f9d\u6b21\u6267\u884c\u3002<\/p>\n<p>\u5f53\u4fe1\u53f7\u548c\u69fd\u51fd\u6570\u5e26\u6709\u53c2\u6570\u65f6&#xff0c;\u5728connect()\u51fd\u6570\u91cc&#xff0c;\u8981\u5199\u660e\u53c2\u6570\u7684\u7c7b\u578b&#xff0c;\u4f46\u53ef\u4ee5\u4e0d\u5199\u53c2\u6570\u540d\u79f0\u3002<\/p>\n<p>&#xff08;2&#xff09;\u591a\u4e2a\u4fe1\u53f7\u53ef\u4ee5\u8fde\u63a5\u540c\u4e00\u4e2a\u69fd&#xff0c;\u4f8b\u5982\u5728\u672c\u9879\u76ee\u7684\u8bbe\u8ba1\u4e2d&#xff0c;\u8ba9\u4e09\u4e2a\u9009\u62e9\u989c\u8272\u7684RadioButton\u7684clicked()\u4fe1\u53f7\u5173\u8054\u5230\u76f8\u540c\u7684\u4e00\u4e2a\u81ea\u5b9a\u4e49\u69fd\u51fd\u6570setTextFontColor()\u3002<\/p>\n<p>connect(ui-&gt;rBtnBlue,SIGNAL(clicked()),this,SLOT(setTextFontColor()));<br \/>\nconnect(ui-&gt;rBtnRed,SIGNAL(clicked()),this,SLOT(setTextFontColor()));<br \/>\nconnect(ui-&gt;rBtnBlack,SIGNAL(clicked()),this,SLOT(setTextFontColor()));<\/p>\n<p>\u8fd9\u6837&#xff0c;\u5f53\u4efb\u4f55\u4e00\u4e2aRadioButton\u88ab\u5355\u51fb\u65f6&#xff0c;\u90fd\u4f1a\u6267\u884csetTextFontColor()\u51fd\u6570\u3002<\/p>\n<p>&#xff08;3&#xff09;\u4e00\u4e2a\u4fe1\u53f7\u53ef\u4ee5\u8fde\u63a5\u53e6\u5916\u4e00\u4e2a\u4fe1\u53f7&#xff0c;\u4f8b\u5982&#xff1a;<\/p>\n<p>connect(spinNum, SIGNAL(valueChanged(int)), this, SIGNAL (refreshInfo(int));<\/p>\n<p>\u8fd9\u6837&#xff0c;\u5f53\u4e00\u4e2a\u4fe1\u53f7\u53d1\u5c04\u65f6&#xff0c;\u4e5f\u4f1a\u53d1\u5c04\u53e6\u5916\u4e00\u4e2a\u4fe1\u53f7&#xff0c;\u5b9e\u73b0\u67d0\u4e9b\u7279\u6b8a\u7684\u529f\u80fd\u3002<\/p>\n<p>&#xff08;4&#xff09;\u4e25\u683c\u7684\u60c5\u51b5\u4e0b&#xff0c;\u4fe1\u53f7\u4e0e\u69fd\u7684\u53c2\u6570\u4e2a\u6570\u548c\u7c7b\u578b\u9700\u8981\u4e00\u81f4&#xff0c;\u81f3\u5c11\u4fe1\u53f7\u7684\u53c2\u6570\u4e0d\u80fd\u5c11\u4e8e\u69fd\u7684\u53c2\u6570\u3002\u5982\u679c\u4e0d\u5339\u914d&#xff0c;\u4f1a\u51fa\u73b0\u7f16\u8bd1\u9519\u8bef\u6216\u8fd0\u884c\u9519\u8bef\u3002<\/p>\n<p>&#xff08;5&#xff09;\u5728\u4f7f\u7528\u4fe1\u53f7\u4e0e\u69fd\u7684\u7c7b\u4e2d&#xff0c;\u5fc5\u987b\u5728\u7c7b\u7684\u5b9a\u4e49\u4e2d\u52a0\u5165\u5b8fQ_OBJECT\u3002<\/p>\n<p>&#xff08;6&#xff09;\u5f53\u4e00\u4e2a\u4fe1\u53f7\u88ab\u53d1\u5c04\u65f6&#xff0c;\u4e0e\u5176\u5173\u8054\u7684\u69fd\u51fd\u6570\u901a\u5e38\u88ab\u7acb\u5373\u6267\u884c&#xff0c;\u5c31\u50cf\u6b63\u5e38\u8c03\u7528\u4e00\u4e2a\u51fd\u6570\u4e00\u6837\u3002\u53ea\u6709\u5f53\u4fe1\u53f7\u5173\u8054\u7684\u6240\u6709\u69fd\u51fd\u6570\u6267\u884c\u5b8c\u6bd5\u540e&#xff0c;\u624d\u4f1a\u6267\u884c\u53d1\u5c04\u4fe1\u53f7\u5904\u540e\u9762\u7684\u4ee3\u7801\u3002<\/p>\n<p>\u4fe1\u53f7\u4e0e\u69fd\u673a\u5236\u662fQt GUI\u7f16\u7a0b\u7684\u57fa\u7840&#xff0c;\u4f7f\u7528\u4fe1\u53f7\u4e0e\u69fd\u673a\u5236\u53ef\u4ee5\u6bd4\u8f83\u5bb9\u6613\u5730\u5c06\u4fe1\u53f7\u4e0e\u54cd\u5e94\u4ee3\u7801\u5173\u8054\u8d77\u6765\u3002<\/p>\n<h4>2.2.4\u3000\u53ef\u89c6\u5316\u751f\u6210\u69fd\u51fd\u6570\u539f\u578b\u548c\u6846\u67b6<\/h4>\n<p>\u4e0b\u9762\u5f00\u59cb\u8bbe\u8ba1\u7a0b\u5e8f\u529f\u80fd\u3002\u5bf9\u4e8e\u8be5\u7a0b\u5e8f&#xff0c;\u5e0c\u671b\u5b83\u7684\u529f\u80fd\u5982\u4e0b\u3002<\/p>\n<ul>\n<li>\n<p>\u5355\u51fbUnderLine\u3001Italic\u3001Bold 3\u4e2aCheckBox\u65f6&#xff0c;\u6839\u636e\u5176\u72b6\u6001&#xff0c;\u8bbe\u7f6ePlainTextEdit\u91cc\u7684\u6587\u5b57\u7684\u5b57\u4f53\u6837\u5f0f&#xff1b;<\/p>\n<\/li>\n<li>\n<p>Black\u3001Red\u3001Blue 3\u4e2aRadioButton\u662f\u4e92\u65a5\u9009\u62e9\u7684&#xff0c;\u5355\u51fb\u67d0\u4e2aRadioButton\u65f6&#xff0c;\u8bbe\u7f6e\u6587\u5b57\u7684\u989c\u8272&#xff1b;<\/p>\n<\/li>\n<li>\n<p>\u5355\u51fb\u201c\u786e\u5b9a\u201d\u201c\u53d6\u6d88\u201d\u6216\u201c\u9000\u51fa\u201d\u6309\u94ae\u65f6&#xff0c;\u5173\u95ed\u7a97\u53e3&#xff0c;\u9000\u51fa\u7a0b\u5e8f\u3002<\/p>\n<\/li>\n<\/ul>\n<h5>1&#xff0e;\u5b57\u4f53\u6837\u5f0f\u8bbe\u7f6e<\/h5>\n<p>\u7a97\u4f53\u5728\u8bbe\u8ba1\u6a21\u5f0f\u4e0b&#xff0c;\u9009\u4e2dchkBoxUnder\u7ec4\u4ef6&#xff0c;\u5355\u51fb\u53f3\u952e\u8c03\u51fa\u5176\u5feb\u6377\u83dc\u5355\u3002\u5728\u5feb\u6377\u83dc\u5355\u4e2d\u5355\u51fb\u83dc\u5355\u9879\u201cGo to slot\u2026\u201d&#xff0c;\u51fa\u73b0\u5982\u539f\u4e66\u7684\u56fe2-11\u6240\u793a\u7684\u5bf9\u8bdd\u6846\u3002<\/p>\n<p>\u8be5\u5bf9\u8bdd\u6846\u5217\u51fa\u4e86QCheckBox\u7c7b\u7684\u6240\u6709\u4fe1\u53f7&#xff0c;\u7b2c\u4e00\u4e2a\u662fclicked()&#xff0c;\u7b2c\u4e8c\u4e2a\u662f\u5e26\u4e00\u4e2a\u5e03\u5c14\u7c7b\u578b\u53c2\u6570\u7684clicked(bool)\u3002<\/p>\n<p>\u4fe1\u53f7clicked(bool)\u4f1a\u5c06CheckBox\u7ec4\u4ef6\u5f53\u524d\u7684\u9009\u62e9\u72b6\u6001\u4f5c\u4e3a\u4e00\u4e2a\u53c2\u6570\u4f20\u9012&#xff0c;\u5728\u54cd\u5e94\u4ee3\u7801\u91cc\u53ef\u4ee5\u76f4\u63a5\u5229\u7528\u8fd9\u4e2a\u4f20\u9012\u7684\u53c2\u6570\u3002\u800c\u5982\u679c\u7528\u4fe1\u53f7clicked()&#xff0c;\u5219\u9700\u8981\u5728\u4ee3\u7801\u91cc\u8bfb\u53d6CheckBox\u7ec4\u4ef6\u7684\u9009\u4e2d\u72b6\u6001\u3002\u4e3a\u4e86\u7b80\u5316\u4ee3\u7801&#xff0c;\u9009\u62e9clicked(bool)\u4fe1\u53f7\u3002<\/p>\n<p>\u9009\u62e9clicked(bool)&#xff0c;\u7136\u540e\u5355\u51fb\u201cOK\u201d\u6309\u94ae&#xff0c;\u5728QWDialog\u7684\u7c7b\u5b9a\u4e49\u4e2d&#xff0c;\u4f1a\u5728private slots\u90e8\u5206\u81ea\u52a8\u589e\u52a0\u4e00\u4e2a\u69fd\u51fd\u6570\u58f0\u660e&#xff0c;\u51fd\u6570\u540d\u662f\u6839\u636e\u53d1\u5c04\u5bf9\u8c61\u53ca\u5176\u4fe1\u53f7\u540d\u79f0\u81ea\u52a8\u547d\u540d\u7684\u3002<\/p>\n<p>void on_chkBoxUnder_clicked(bool checked);<\/p>\n<p>\u540c\u65f6&#xff0c;\u5728qwdialog.cpp\u6587\u4ef6\u4e2d\u81ea\u52a8\u6dfb\u52a0\u4e86\u51fd\u6570on_chkBoxUnder_clicked(bool)\u7684\u6846\u67b6&#xff0c;\u5728\u6b64\u51fd\u6570\u4e2d\u6dfb\u52a0\u5982\u4e0b\u7684\u4ee3\u7801&#xff0c;\u5b9e\u73b0\u6587\u672c\u6846\u5b57\u4f53\u4e0b\u5212\u7ebf\u7684\u63a7\u5236\u3002<\/p>\n<p>void QWDialog::on_chkBoxUnder_clicked(bool checked)<br \/>\n{<br \/>\n    QFont   font&#061;ui-&gt;txtEdit-&gt;font();<br \/>\n    font.setUnderline(checked);<br \/>\n    ui-&gt;txtEdit-&gt;setFont(font);<br \/>\n}<\/p>\n<p>\u4ee5\u540c\u6837\u7684\u65b9\u6cd5\u4e3aItalic\u548cBold\u4e24\u4e2aCheckBox\u8bbe\u8ba1\u69fd\u51fd\u6570&#xff0c;\u7f16\u8bd1\u540e\u8fd0\u884c&#xff0c;\u53d1\u73b0\u5df2\u7ecf\u5b9e\u73b0\u4e86\u4fee\u6539\u5b57\u4f53\u7684\u4e0b\u5212\u7ebf\u3001\u659c\u4f53\u3001\u7c97\u4f53\u5c5e\u6027\u7684\u529f\u80fd&#xff0c;\u8bf4\u660e\u4fe1\u53f7\u4e0e\u69fd\u51fd\u6570\u5df2\u7ecf\u5173\u8054\u4e86\u3002<\/p>\n<p>\u4f46\u662f&#xff0c;\u67e5\u770bQWDialog\u7684\u6784\u9020\u51fd\u6570&#xff0c;\u6784\u9020\u51fd\u6570\u53ea\u6709\u7b80\u5355\u7684\u4e00\u6761\u8bed\u53e5\u3002<\/p>\n<p>QWDialog::QWDialog(QWidget *parent) : QDialog(parent), ui(new Ui::QWDialog)<br \/>\n{<br \/>\n    ui-&gt;setupUi(this);<br \/>\n}<\/p>\n<p>\u8fd9\u91cc\u6ca1\u6709\u53d1\u73b0\u7528connect()\u51fd\u6570\u8fdb\u884c\u51e0\u4e2aCheckBox\u7684\u4fe1\u53f7\u4e0e\u69fd\u51fd\u6570\u5173\u8054\u7684\u64cd\u4f5c\u3002\u8fd9\u4e9b\u529f\u80fd\u662f\u5982\u4f55\u5b9e\u73b0\u7684\u5462&#xff1f;<\/p>\n<p>\u67e5\u770b\u7f16\u8bd1\u751f\u6210\u7684ui_qwdialog.h\u6587\u4ef6\u3002\u6784\u9020\u51fd\u6570\u91cc\u8c03\u7528\u7684setupUi()\u662f\u5728ui_qwdialog.h\u6587\u4ef6\u91cc\u5b9e\u73b0\u7684\u3002\u67e5\u770bsetupUi()\u51fd\u6570\u7684\u5185\u5bb9&#xff0c;\u4e5f\u6ca1\u6709\u53d1\u73b0\u7528connect()\u51fd\u6570\u8fdb\u884c\u51e0\u4e2aCheckBox\u7684\u4fe1\u53f7\u4e0e\u69fd\u5173\u8054\u7684\u64cd\u4f5c&#xff0c;\u53ea\u662f\u5728setupUI()\u91cc\u53d1\u73b0\u4e86\u5982\u4e0b\u7684\u4e00\u6761\u8bed\u53e5&#xff1a;<\/p>\n<p>QMetaObject::connectSlotsByName(QWDialog);<\/p>\n<p>\u79d8\u5bc6\u5c31\u5728\u4e8e\u8fd9\u6761\u8bed\u53e5\u3002connectSlotsByName(QWDialog)\u51fd\u6570\u5c06\u641c\u7d22QWDialog\u754c\u9762\u4e0a\u7684\u6240\u6709\u7ec4\u4ef6&#xff0c;\u5c06\u4fe1\u53f7\u4e0e\u69fd\u51fd\u6570\u5339\u914d\u7684\u4fe1\u53f7\u548c\u69fd\u5173\u8054\u8d77\u6765&#xff0c;\u5b83\u5047\u8bbe\u69fd\u51fd\u6570\u7684\u540d\u79f0\u662f&#xff1a;<\/p>\n<p>void on_&lt;object name&gt;_&lt;signal name&gt;(&lt;signal parameters&gt;);<\/p>\n<p>\u4f8b\u5982&#xff0c;\u901a\u8fc7UI\u8bbe\u8ba1\u5668\u7684\u64cd\u4f5c&#xff0c;\u4e3achkBoxUnder\u81ea\u52a8\u751f\u6210\u7684\u69fd\u51fd\u6570\u662f&#xff1a;<\/p>\n<p>void on_chkBoxUnder_clicked(bool checked);<\/p>\n<p>\u5b83\u5c31\u6b63\u597d\u662fchkBoxUnder\u7684\u4fe1\u53f7clicked(bool)\u7684\u69fd\u51fd\u6570\u3002\u90a3\u4e48&#xff0c;connectSlotsByName()\u5c31\u4f1a\u5c06\u6b64\u4fe1\u53f7\u548c\u69fd\u51fd\u6570\u5173\u8054\u8d77\u6765&#xff0c;\u5982\u540c\u6267\u884c\u4e86\u4e0b\u9762\u7684\u8fd9\u6837\u4e00\u6761\u8bed\u53e5&#xff1a;<\/p>\n<p>connect(chkBoxUnder, SIGNAL(clicked (bool)),<br \/>\n        this, SLOT (on_chkBoxUnder_clicked (bool));<\/p>\n<p>\u8fd9\u5c31\u662f\u7528UI\u8bbe\u8ba1\u5668\u53ef\u89c6\u5316\u8bbe\u8ba1\u67d0\u4e2a\u7ec4\u4ef6\u7684\u4fe1\u53f7\u54cd\u5e94\u69fd\u51fd\u6570&#xff0c;\u800c\u4e0d\u7528\u624b\u5de5\u53bb\u5c06\u5176\u5173\u8054\u8d77\u6765\u7684\u539f\u56e0&#xff0c;\u90fd\u662f\u5728\u754c\u9762\u7c7b\u7684\u6784\u9020\u51fd\u6570\u91cc\u8c03\u7528setupUi()\u81ea\u52a8\u5b8c\u6210\u4e86\u5173\u8054\u3002<\/p>\n<h5>2&#xff0e;\u5b57\u4f53\u989c\u8272\u8bbe\u7f6e<\/h5>\n<p>\u8bbe\u7f6e\u5b57\u4f53\u76843\u4e2aRadioButton\u662f\u4e92\u65a5\u6027\u9009\u62e9\u7684&#xff0c;\u5373\u4e00\u6b21\u53ea\u6709\u4e00\u4e2aRadioButton\u88ab\u9009\u4e2d&#xff0c;\u867d\u7136\u4e5f\u53ef\u4ee5\u91c7\u7528\u53ef\u89c6\u5316\u8bbe\u8ba1\u7684\u65b9\u5f0f\u8bbe\u8ba1\u5176clicked()\u4fe1\u53f7\u7684\u69fd\u51fd\u6570&#xff0c;\u4f46\u662f\u8fd9\u6837\u5c31\u9700\u8981\u751f\u62103\u4e2a\u69fd\u51fd\u6570\u3002\u8fd9\u91cc\u53ef\u4ee5\u7b80\u5316\u8bbe\u8ba1&#xff0c;\u5373\u8bbe\u8ba1\u4e00\u4e2a\u69fd\u51fd\u6570&#xff0c;\u5c063\u4e2aRadioButton\u7684clicked()\u4fe1\u53f7\u5173\u8054\u5230\u8fd9\u4e00\u4e2a\u69fd\u51fd\u6570\u3002<\/p>\n<p>\u4e3a\u6b64&#xff0c;\u5728QWDialog\u7c7b\u7684private slots\u90e8\u5206\u589e\u52a0\u4e00\u4e2a\u69fd\u51fd\u6570\u5b9a\u4e49\u5982\u4e0b&#xff1a;<\/p>\n<p>void setTextFontColor();<\/p>\n<p>\u63d0\u793a&#xff1a;\u5c06\u9f20\u6807\u5149\u6807\u79fb\u52a8\u5230\u8fd9\u4e2a\u51fd\u6570\u7684\u51fd\u6570\u540d\u4e0a\u9762&#xff0c;\u5355\u51fb\u53f3\u952e&#xff0c;\u5728\u5f39\u51fa\u7684\u5feb\u6377\u83dc\u5355\u4e2d\u9009\u62e9\u201cRefactor\u201d\u2192\u201cAdd Definition in qwdialog.cpp\u201d&#xff0c;\u5c31\u53ef\u4ee5\u5728qwdialog.cpp\u6587\u4ef6\u4e2d\u81ea\u52a8\u4e3a\u51fd\u6570setTextFontColor()\u751f\u6210\u4e00\u4e2a\u51fd\u6570\u6846\u67b6\u3002<\/p>\n<p>\u5728qwdialog.cpp\u6587\u4ef6\u4e2d&#xff0c;\u4e3asetTextFontColor()\u7f16\u5199\u5b9e\u73b0\u4ee3\u7801\u5982\u4e0b&#xff1a;<\/p>\n<p>void QWDialog::setTextFontColor()<br \/>\n{<br \/>\n   QPalette   plet&#061;ui-&gt;txtEdit-&gt;palette();<br \/>\n   if (ui-&gt;rBtnBlue-&gt;isChecked())<br \/>\n      plet.setColor(QPalette::Text,Qt::blue);<br \/>\n   else if (ui-&gt;rBtnRed-&gt;isChecked())<br \/>\n      plet.setColor(QPalette::Text,Qt::red);<br \/>\n   else if (ui-&gt;rBtnBlack-&gt;isChecked())<br \/>\n      plet.setColor(QPalette::Text,Qt::black);<br \/>\n   else<br \/>\n      plet.setColor(QPalette::Text,Qt::black);<br \/>\n   ui-&gt;txtEdit-&gt;setPalette(plet);<br \/>\n}<\/p>\n<p>\u7531\u4e8e\u8fd9\u4e2a\u69fd\u51fd\u6570\u662f\u81ea\u5b9a\u4e49\u7684&#xff0c;\u6240\u4ee5\u4e0d\u4f1a\u81ea\u52a8\u4e0eRadioButton\u7684clicked()\u4e8b\u4ef6\u5173\u8054&#xff0c;\u6b64\u65f6\u7f16\u8bd1\u540e\u8fd0\u884c\u7a0b\u5e8f\u4e0d\u4f1a\u5b9e\u73b0\u6539\u53d8\u5b57\u4f53\u989c\u8272\u7684\u529f\u80fd\u3002\u9700\u8981\u5728QWDialog\u7684\u6784\u9020\u51fd\u6570\u4e2d\u624b\u5de5\u8fdb\u884c\u5173\u8054&#xff0c;\u4ee3\u7801\u5982\u4e0b&#xff1a;<\/p>\n<p>QWDialog::QWDialog(QWidget *parent) :    QDialog(parent),    ui(new Ui::QWDialog)<br \/>\n{<br \/>\n   ui-&gt;setupUi(this);<br \/>\n   connect(ui-&gt;rBtnBlue,SIGNAL(clicked()),this,SLOT(setTextFontColor()));<br \/>\n   connect(ui-&gt;rBtnRed,SIGNAL(clicked()),this,SLOT(setTextFontColor()));<br \/>\n   connect(ui-&gt;rBtnBlack,SIGNAL(clicked()),this,SLOT(setTextFontColor()));<br \/>\n}<\/p>\n<p>\u5728\u6784\u9020\u51fd\u6570\u4e2d\u5c063\u4e2aRadioButton\u7684clicked() \u4fe1\u53f7\u4e0e\u540c\u4e00\u4e2a\u69fd\u51fd\u6570setTextFontColor()\u76f8\u5173\u8054\u3002\u518d\u7f16\u8bd1\u540e\u8fd0\u884c&#xff0c;\u5c31\u53ef\u4ee5\u66f4\u6539\u6587\u5b57\u7684\u989c\u8272\u4e86\u3002<\/p>\n<h5>3&#xff0e;\u4e09\u4e2a\u6309\u94ae\u7684\u529f\u80fd\u8bbe\u8ba1<\/h5>\n<p>\u754c\u9762\u4e0a\u8fd8\u6709\u201c\u786e\u5b9a\u201d\u201c\u53d6\u6d88\u201d\u201c\u9000\u51fa\u201d3\u4e2a\u6309\u94ae&#xff0c;\u8fd9\u662f\u5728\u5bf9\u8bdd\u6846\u4e2d\u5e38\u89c1\u7684\u6309\u94ae\u3002\u201c\u786e\u5b9a\u201d\u8868\u793a\u786e\u8ba4\u9009\u62e9\u5e76\u5173\u95ed\u5bf9\u8bdd\u6846&#xff0c;\u201c\u53d6\u6d88\u201d\u8868\u793a\u53d6\u6d88\u9009\u62e9\u5e76\u5173\u95ed\u5bf9\u8bdd\u6846&#xff0c;\u201c\u9000\u51fa\u201d\u5219\u76f4\u63a5\u5173\u95ed\u5bf9\u8bdd\u6846\u3002<\/p>\n<p>QWDialog\u662f\u4eceQDialog\u7ee7\u627f\u800c\u6765\u7684&#xff0c;QDialog\u63d0\u4f9b\u4e86accept()\u3001reject()\u3001close()\u7b49\u69fd\u51fd\u6570\u6765\u8868\u793a\u8fd9\u4e09\u79cd\u72b6\u6001&#xff0c;\u53ea\u9700\u5c06\u6309\u94ae\u7684clicked()\u4fe1\u53f7\u4e0e\u76f8\u5e94\u69fd\u51fd\u6570\u5173\u8054\u5373\u53ef\u3002<\/p>\n<p>\u4e0b\u9762\u91c7\u7528\u53ef\u89c6\u5316\u7684\u65b9\u5f0f&#xff0c;\u5c06\u6309\u94ae\u7684clicked()\u4fe1\u53f7\u4e0e\u8fd9\u4e9b\u69fd\u51fd\u6570\u5173\u8054\u8d77\u6765\u3002\u5728UI\u8bbe\u8ba1\u5668\u91cc&#xff0c;\u5355\u51fb\u4e0a\u65b9\u5de5\u5177\u680f\u91cc\u7684\u201cEdit Signals\/Slots\u201d\u6309\u94ae&#xff0c;\u7a97\u4f53\u8fdb\u5165\u4fe1\u53f7\u4e0e\u69fd\u51fd\u6570\u7f16\u8f91\u72b6\u6001&#xff0c;\u5982\u539f\u4e66\u7684\u56fe2-12\u6240\u793a\u3002\u5c06\u9f20\u6807\u79fb\u52a8\u5230\u201c\u786e\u5b9a\u201d\u6309\u94ae\u4e0a\u65b9&#xff0c;\u518d\u6309\u4e0b\u9f20\u6807\u5de6\u952e&#xff0c;\u79fb\u52a8\u5230\u7a97\u4f53\u7684\u7a7a\u767d\u533a\u57df\u91ca\u653e\u5de6\u952e&#xff0c;\u8fd9\u65f6\u51fa\u73b0\u5982\u539f\u4e66\u7684\u56fe2-13\u6240\u793a\u7684\u5173\u8054\u8bbe\u7f6e\u5bf9\u8bdd\u6846\u3002<\/p>\n<p>\u5728\u56fe2-13\u4e2d&#xff0c;\u5de6\u4fa7\u7684\u5217\u8868\u6846\u91cc\u663e\u793a\u4e86btnOK\u7684\u4fe1\u53f7&#xff0c;\u9009\u62e9clicked()&#xff0c;\u53f3\u8fb9\u7684\u5217\u8868\u6846\u91cc\u663e\u793a\u4e86QWDialog\u7684\u69fd\u51fd\u6570&#xff0c;\u9009\u62e9accept()&#xff0c;\u5355\u51fb\u201cOK\u201d\u6309\u94ae\u3002<\/p>\n<p>\u540c\u6837\u7684\u65b9\u6cd5\u53ef\u4ee5\u5c06btnCancel\u7684clicked()\u4fe1\u53f7\u4e0eQWDialog\u7684reject()\u69fd\u51fd\u6570\u5173\u8054&#xff0c;\u5c06btnClose\u7684clicked()\u4fe1\u53f7\u4e0eQWDialog\u7684close()\u69fd\u51fd\u6570\u5173\u8054\u3002<\/p>\n<p>\u6ce8\u610f&#xff1a;\u5728\u56fe2-13\u7684\u53f3\u4fa7\u5217\u8868\u6846\u4e2d\u6ca1\u6709close()\u69fd\u51fd\u6570&#xff0c;\u9700\u8981\u52fe\u9009\u4e0b\u65b9\u7684\u201cShow signals and slots inherited from QWidget\u201d\u624d\u4f1a\u51fa\u73b0close()\u51fd\u6570\u3002<\/p>\n<p>\u8bbe\u7f6e\u5b8c3\u4e2a\u6309\u94ae\u7684\u4fe1\u53f7\u4e0e\u69fd\u5173\u8054\u4e4b\u540e&#xff0c;\u5728\u7a97\u4f53\u4e0b\u65b9\u7684Signals\u548cSlots \u7f16\u8f91\u5668\u91cc\u4e5f\u663e\u793a\u4e86\u8fd93\u4e2a\u5173\u8054\u3002\u5b9e\u9645\u4e0a&#xff0c;\u53ef\u4ee5\u76f4\u63a5\u5728Signals\u548cSlots \u7f16\u8f91\u5668\u8fdb\u884c\u5173\u8054\u8bbe\u7f6e\u3002\u73b0\u5728\u7f16\u8bd1\u5e76\u8fd0\u884c\u7a0b\u5e8f&#xff0c;\u5355\u51fb\u8fd93\u4e2a\u6309\u94ae\u90fd\u4f1a\u5173\u95ed\u7a0b\u5e8f\u3002<\/p>\n<p>\u90a3\u4e48&#xff0c;\u8fd93\u4e2a\u6309\u94ae\u7684\u4fe1\u53f7\u4e0e\u69fd\u51fd\u6570\u7684\u5173\u8054\u662f\u5728\u54ea\u91cc\u5b9e\u73b0\u7684\u5462&#xff1f;\u7b54\u6848\u5728setupUi()\u51fd\u6570\u91cc&#xff0c;\u5728setupUi()\u51fd\u6570\u91cc\u81ea\u52a8\u589e\u52a0\u4e86\u4ee5\u4e0b3\u884c\u4ee3\u7801&#xff1a;<\/p>\n<p>QObject::connect(btnOK, SIGNAL(clicked()), QWDialog, SLOT(accept()));<br \/>\nQObject::connect(btnCancel, SIGNAL(clicked()), QWDialog, SLOT(reject()));<br \/>\nQObject::connect(btnClose, SIGNAL(clicked()), QWDialog, SLOT(close()));<\/p>\n<p>\u8fd9\u4e2a\u5b9e\u4f8b\u7a0b\u5e8f\u7684\u529f\u80fd\u5168\u90e8\u5b8c\u6210\u4e86\u3002\u91c7\u7528UI\u8bbe\u8ba1\u5668\u8bbe\u8ba1\u4e86\u7a97\u4f53\u754c\u9762&#xff0c;\u91c7\u7528\u53ef\u89c6\u5316\u548c\u7a0b\u5e8f\u5316\u7684\u65b9\u5f0f\u8bbe\u8ba1\u69fd\u51fd\u6570&#xff0c;\u8bbe\u8ba1\u4fe1\u53f7\u4e0e\u69fd\u51fd\u6570\u4e4b\u95f4\u7684\u5173\u8054\u3002\u4ece\u4ee5\u4e0a\u7684\u8bbe\u8ba1\u8fc7\u7a0b\u53ef\u4ee5\u770b\u5230&#xff0c;Qt Creator\u548cUI\u8bbe\u8ba1\u5668\u4e3a\u8bbe\u8ba1\u5e94\u7528\u7a0b\u5e8f\u63d0\u4f9b\u4e86\u5f3a\u5927\u7684\u53ef\u89c6\u5316\u8bbe\u8ba1\u529f\u80fd\u3002<\/p>\n<h3>2.3\u3000\u4ee3\u7801\u5316UI\u8bbe\u8ba1<\/h3>\n<p>UI\u7684\u53ef\u89c6\u5316\u8bbe\u8ba1\u662f\u5bf9\u7528\u6237\u800c\u8a00\u7684&#xff0c;\u5176\u5b9e\u5e95\u5c42\u90fd\u662fC&#043;&#043;\u7684\u4ee3\u7801\u5b9e\u73b0&#xff0c;\u53ea\u662fQt\u5de7\u5999\u5730\u8fdb\u884c\u4e86\u5904\u7406&#xff0c;\u8ba9\u7528\u6237\u7701\u53bb\u4e86\u5f88\u591a\u7e41\u7410\u7684\u754c\u9762\u8bbe\u8ba1\u5de5\u4f5c\u3002<\/p>\n<p>\u7531\u4e8e\u754c\u9762\u8bbe\u8ba1\u7684\u5e95\u5c42\u5176\u5b9e\u90fd\u662f\u7531C&#043;&#043;\u8bed\u8a00\u5b9e\u73b0\u7684&#xff0c;\u5e95\u5c42\u5b9e\u73b0\u7684\u529f\u80fd\u6bd4\u53ef\u89c6\u5316\u8bbe\u8ba1\u66f4\u52a0\u5f3a\u5927\u548c\u7075\u6d3b\u3002\u67d0\u4e9b\u754c\u9762\u6548\u679c\u662f\u53ef\u89c6\u5316\u8bbe\u8ba1\u65e0\u6cd5\u5b8c\u6210\u7684&#xff0c;\u6216\u8005\u67d0\u4e9b\u4eba\u4e60\u60ef\u4e86\u7528\u7eaf\u4ee3\u7801\u7684\u65b9\u5f0f\u6765\u8bbe\u8ba1\u754c\u9762&#xff0c;\u5c31\u53ef\u4ee5\u91c7\u7528\u7eaf\u4ee3\u7801\u7684\u65b9\u5f0f\u8bbe\u8ba1\u754c\u9762&#xff0c;\u5982Qt\u81ea\u5e26\u7684\u5b9e\u4f8b\u57fa\u672c\u90fd\u662f\u7528\u7eaf\u4ee3\u7801\u65b9\u5f0f\u5b9e\u73b0\u7528\u6237\u754c\u9762\u7684\u3002<\/p>\n<p>\u6240\u4ee5&#xff0c;\u672c\u8282\u4ecb\u7ecd\u4e00\u4e2a\u7528\u7eaf\u4ee3\u7801\u65b9\u5f0f\u8bbe\u8ba1UI\u7684\u5b9e\u4f8b&#xff0c;\u901a\u8fc7\u5b9e\u4f8b\u4e86\u89e3\u7528\u7eaf\u4ee3\u7801\u8bbe\u8ba1UI\u7684\u57fa\u672c\u539f\u7406\u3002\u4e0e\u524d\u9762\u7684\u53ef\u89c6\u5316UI\u8bbe\u8ba1\u76f8\u5bf9\u5e94&#xff0c;\u4e14\u79f0\u4e4b\u4e3a\u4ee3\u7801\u5316UI\u8bbe\u8ba1\u3002<\/p>\n<h4>2.3.1\u3000\u5b9e\u4f8b\u529f\u80fd<\/h4>\n<p>\u9996\u5148\u5efa\u7acb\u4e00\u4e2aWidget Appliation\u9879\u76eesamp2_3&#xff0c;\u5728\u521b\u5efa\u9879\u76ee\u5411\u5bfc\u4e2d\u9009\u62e9\u57fa\u7c7b\u65f6&#xff0c;\u9009\u62e9\u57fa\u7c7bQDialog&#xff0c;\u65b0\u7c7b\u7684\u540d\u79f0\u547d\u540d\u4e3aQWDlgManual&#xff0c;\u5173\u952e\u662f\u53d6\u6d88\u521b\u5efa\u7a97\u4f53&#xff0c;\u5373\u4e0d\u52fe\u9009\u201cGenerate form\u201d\u590d\u9009\u6846\u3002\u521b\u5efa\u540e\u7684\u9879\u76ee\u6587\u4ef6\u76ee\u5f55\u6811\u4e0b\u6ca1\u6709qwdlgmanual.ui\u6587\u4ef6\u3002<\/p>\n<p>\u8be5\u9879\u76ee\u901a\u8fc7\u4ee3\u7801\u521b\u5efa\u4e00\u4e2a\u5bf9\u8bdd\u6846&#xff0c;\u5b9e\u73b0\u4e0esamp2_2\u7c7b\u4f3c\u7684\u754c\u9762\u548c\u529f\u80fd\u3002\u672c\u4f8b\u5b8c\u6210\u540e\u7684\u8fd0\u884c\u6548\u679c\u5982\u539f\u4e66\u7684\u56fe2-14\u6240\u793a&#xff0c;\u5176\u754c\u9762\u548c\u529f\u80fd\u4e0esamp2_2\u7c7b\u4f3c\u3002<\/p>\n<h4>2.3.2\u3000\u754c\u9762\u521b\u5efa<\/h4>\n<h5>1&#xff0e;QWDlgManual\u7c7b\u5b9a\u4e49<\/h5>\n<p>\u5b8c\u6210\u529f\u80fd\u540e\u7684qwdlgmanual.h\u6587\u4ef6\u4e2dQWDlgManual\u7c7b\u7684\u5b8c\u6574\u5b9a\u4e49\u5982\u4e0b\u3002<\/p>\n<p>#include &lt;QDialog&gt;<br \/>\n#include &lt;QCheckBox&gt;<br \/>\n#include &lt;QRadioButton&gt;<br \/>\n#include &lt;QPlainTextEdit&gt;<br \/>\n#include &lt;QPushButton&gt;<\/p>\n<p>class QWDlgManual : public QDialog<br \/>\n{<br \/>\n   Q_OBJECT<br \/>\nprivate:<br \/>\n   QCheckBox   *chkBoxUnder;<br \/>\n   QCheckBox   *chkBoxItalic;<br \/>\n   QCheckBox   *chkBoxBold;<br \/>\n   QRadioButton    *rBtnBlack;<br \/>\n   QRadioButton    *rBtnRed;<br \/>\n   QRadioButton    *rBtnBlue;<br \/>\n   QPlainTextEdit  *txtEdit;<br \/>\n   QPushButton     *btnOK;<br \/>\n   QPushButton     *btnCancel;<br \/>\n   QPushButton     *btnClose;<br \/>\n   void    iniUI();  \/\/UI \u521b\u5efa\u4e0e\u521d\u59cb\u5316<br \/>\n   void    iniSignalSlots(); \/\/\u521d\u59cb\u5316\u4fe1\u53f7\u4e0e\u69fd\u7684\u94fe\u63a5<br \/>\nprivate slots:<br \/>\n   void on_chkBoxUnder(bool checked); \/\/Underline\u7684\u69fd\u51fd\u6570<br \/>\n   void on_chkBoxItalic(bool checked);\/\/Italic\u7684\u69fd\u51fd\u6570<br \/>\n   void on_chkBoxBold(bool checked); \/\/Bold\u7684\u69fd\u51fd\u6570<br \/>\n   void setTextFontColor(); \/\/\u8bbe\u7f6e\u5b57\u4f53\u989c\u8272<br \/>\npublic:<br \/>\n   QWDlgManual(QWidget *parent &#061; 0);<br \/>\n   ~QWDlgManual();<br \/>\n};<\/p>\n<p>\u5728QWDlgManual\u7c7b\u7684private\u90e8\u5206&#xff0c;\u58f0\u660e\u4e86\u754c\u9762\u4e0a\u7684\u5404\u4e2a\u7ec4\u4ef6\u7684\u6307\u9488\u53d8\u91cf&#xff0c;\u8fd9\u4e9b\u754c\u9762\u7ec4\u4ef6\u90fd\u9700\u8981\u5728QWDlgManual\u7c7b\u7684\u6784\u9020\u51fd\u6570\u91cc\u521b\u5efa\u5e76\u5728\u7a97\u4f53\u4e0a\u5e03\u5c40\u3002<\/p>\n<p>\u5728private\u90e8\u5206\u81ea\u5b9a\u4e49\u4e86\u4e24\u4e2a\u51fd\u6570&#xff0c;iniUI()\u7528\u6765\u521b\u5efa\u6240\u6709\u754c\u9762\u7ec4\u4ef6&#xff0c;\u5e76\u5b8c\u6210\u5e03\u5c40\u548c\u5c5e\u6027\u8bbe\u7f6e&#xff0c;iniSignalSlots()\u7528\u6765\u5b8c\u6210\u6240\u6709\u7684\u4fe1\u53f7\u4e0e\u69fd\u51fd\u6570\u7684\u5173\u8054\u3002<\/p>\n<p>\u5728private slots\u90e8\u5206\u58f0\u660e\u4e864\u4e2a\u69fd\u51fd\u6570&#xff0c;\u5206\u522b\u662f3\u4e2aCheckBox\u7684\u54cd\u5e94\u69fd\u51fd\u6570&#xff0c;\u4ee5\u53ca3\u4e2a\u989c\u8272\u8bbe\u7f6e\u7684RadioButton\u7684\u5171\u540c\u54cd\u5e94\u69fd\u51fd\u6570\u3002<\/p>\n<p>\u6ce8\u610f&#xff1a;\u4e0e\u53ef\u89c6\u5316\u8bbe\u8ba1\u5f97\u5230\u7684\u7a97\u4f53\u7c7b\u5b9a\u4e49\u4e0d\u540c&#xff0c;QWDlgManual\u7684\u7c7b\u5b9a\u4e49\u91cc\u6ca1\u6709\u6307\u5411\u754c\u9762\u7684\u6307\u9488ui\u3002<\/p>\n<p>\u8fd9\u51e0\u4e2a\u69fd\u51fd\u6570\u7684\u529f\u80fd\u4e0e\u4f8bsamp2_2\u4e2d\u7684\u7c7b\u4f3c&#xff0c;\u53ea\u662f\u5728\u8bbf\u95ee\u754c\u9762\u7ec4\u4ef6\u65f6&#xff0c;\u65e0\u9700\u4f7f\u7528ui\u6307\u9488&#xff0c;\u800c\u662f\u76f4\u63a5\u8bbf\u95eeQWDlgManual\u7c7b\u91cc\u5b9a\u4e49\u7684\u754c\u9762\u7ec4\u4ef6\u7684\u6210\u5458\u53d8\u91cf\u5373\u53ef&#xff0c;\u4f8b\u5982on_chkBoxUnder()\u7684\u4ee3\u7801&#xff1a;<\/p>\n<p>void QWDlgManual::on_chkBoxUnder(bool checked)<br \/>\n{<br \/>\n   QFont   font&#061;txtEdit-&gt;font();<br \/>\n   font.setUnderline(checked);<br \/>\n   txtEdit-&gt;setFont(font);<br \/>\n}<\/p>\n<p>\u754c\u9762\u7684\u521b\u5efa&#xff0c;\u4ee5\u53ca\u4fe1\u53f7\u4e0e\u69fd\u51fd\u6570\u7684\u5173\u8054\u90fd\u5728QWDlgManual\u7684\u6784\u9020\u51fd\u6570\u91cc\u5b8c\u6210&#xff0c;\u6784\u9020\u51fd\u6570\u4ee3\u7801\u5982\u4e0b&#xff1a;<\/p>\n<p>QWDlgManual::QWDlgManual(QWidget *parent) : QDialog(parent)<br \/>\n{<br \/>\n   iniUI(); \/\/\u754c\u9762\u521b\u5efa\u4e0e\u5e03\u5c40<br \/>\n   iniSignalSlots(); \/\/\u4fe1\u53f7\u4e0e\u69fd\u7684\u5173\u8054<br \/>\n   setWindowTitle(&#034;Form created mannually&#034;);<br \/>\n}<\/p>\n<p>\u6784\u9020\u51fd\u6570\u8c03\u7528iniUI()\u521b\u5efa\u754c\u9762\u7ec4\u4ef6\u5e76\u5e03\u5c40&#xff0c;\u8c03\u7528iniSignalSlots()\u8fdb\u884c\u4fe1\u53f7\u4e0e\u69fd\u51fd\u6570\u7684\u5173\u8054\u3002<\/p>\n<h5>2&#xff0e;\u754c\u9762\u7ec4\u4ef6\u7684\u521b\u5efa\u4e0e\u5e03\u5c40<\/h5>\n<p>iniUI()\u51fd\u6570\u5b9e\u73b0\u754c\u9762\u7ec4\u4ef6\u7684\u521b\u5efa\u4e0e\u5e03\u5c40&#xff0c;\u4ee5\u53ca\u5c5e\u6027\u8bbe\u7f6e\u3002\u4e0b\u9762\u662finiUI()\u7684\u5b8c\u6574\u4ee3\u7801\u3002<\/p>\n<p>void QWDlgManual::iniUI()<br \/>\n{ \/\/\u521b\u5efa Underline, Italic, Bold 3\u4e2aCheckBox&#xff0c;\u5e76\u6c34\u5e73\u5e03\u5c40<br \/>\n   chkBoxUnder&#061;new QCheckBox(tr(&#034;Underline&#034;));<br \/>\n   chkBoxItalic&#061;new QCheckBox(tr(&#034;Italic&#034;));<br \/>\n   chkBoxBold&#061;new QCheckBox(tr(&#034;Bold&#034;));<br \/>\n   QHBoxLayout *HLay1&#061;new QHBoxLayout;<br \/>\n   HLay1-&gt;addWidget(chkBoxUnder);<br \/>\n   HLay1-&gt;addWidget(chkBoxItalic);<br \/>\n   HLay1-&gt;addWidget(chkBoxBold);<br \/>\n\/\/\u521b\u5efa Black, Red, Blue 3\u4e2aRadioButton&#xff0c;\u5e76\u6c34\u5e73\u5e03\u5c40<br \/>\n   rBtnBlack&#061;new QRadioButton(tr(&#034;Black&#034;));<br \/>\n   rBtnBlack-&gt;setChecked(true);<br \/>\n   rBtnRed&#061;new QRadioButton(tr(&#034;Red&#034;));<br \/>\n   rBtnBlue&#061;new QRadioButton(tr(&#034;Blue&#034;));<br \/>\n   QHBoxLayout *HLay2&#061;new QHBoxLayout;<br \/>\n   HLay2-&gt;addWidget(rBtnBlack);<br \/>\n   HLay2-&gt;addWidget(rBtnRed);<br \/>\n   HLay2-&gt;addWidget(rBtnBlue);<br \/>\n\/\/\u521b\u5efa \u786e\u5b9a, \u53d6\u6d88, \u9000\u51fa3\u4e2a PushButton, \u5e76\u6c34\u5e73\u5e03\u5c40<br \/>\n   btnOK&#061;new QPushButton(tr(&#034;\u786e\u5b9a&#034;));<br \/>\n   btnCancel&#061;new QPushButton(tr(&#034;\u53d6\u6d88&#034;));<br \/>\n   btnClose&#061;new QPushButton(tr(&#034;\u9000\u51fa&#034;));<br \/>\n   QHBoxLayout *HLay3&#061;new QHBoxLayout;<br \/>\n   HLay3-&gt;addStretch();<br \/>\n   HLay3-&gt;addWidget(btnOK);<br \/>\n   HLay3-&gt;addWidget(btnCancel);<br \/>\n   HLay3-&gt;addStretch();<br \/>\n   HLay3-&gt;addWidget(btnClose);<br \/>\n\/\/\u521b\u5efa \u6587\u672c\u6846,\u5e76\u8bbe\u7f6e\u521d\u59cb\u5b57\u4f53<br \/>\n   txtEdit&#061;new QPlainTextEdit;<br \/>\n   txtEdit-&gt;setPlainText(&#034;Hello world\\\\n\\\\nIt is my demo&#034;);<br \/>\n   QFont   font&#061;txtEdit-&gt;font(); \/\/\u83b7\u53d6\u5b57\u4f53<br \/>\n   font.setPointSize(20);\/\/\u4fee\u6539\u5b57\u4f53\u5927\u5c0f<br \/>\n   txtEdit-&gt;setFont(font);\/\/\u8bbe\u7f6e\u5b57\u4f53<br \/>\n\/\/\u521b\u5efa \u5782\u76f4\u5e03\u5c40&#xff0c;\u5e76\u8bbe\u7f6e\u4e3a\u4e3b\u5e03\u5c40<br \/>\n   QVBoxLayout *VLay&#061;new QVBoxLayout;<br \/>\n   VLay-&gt;addLayout(HLay1); \/\/\u6dfb\u52a0\u5b57\u4f53\u7c7b\u578b\u7ec4<br \/>\n   VLay-&gt;addLayout(HLay2);\/\/\u6dfb\u52a0\u5b57\u4f53\u989c\u8272\u7ec4<br \/>\n   VLay-&gt;addWidget(txtEdit);\/\/\u6dfb\u52a0PlainTextEdit<br \/>\n   VLay-&gt;addLayout(HLay3);\/\/\u6dfb\u52a0\u6309\u952e\u7ec4<br \/>\n   setLayout(VLay); \/\/\u8bbe\u7f6e\u4e3a\u7a97\u4f53\u7684\u4e3b\u5e03\u5c40<br \/>\n}<\/p>\n<p>iniUI()\u51fd\u6570\u6309\u7167\u987a\u5e8f\u5b8c\u6210\u4e86\u5982\u4e0b\u7684\u529f\u80fd\u3002<\/p>\n<ul>\n<li>\n<p>\u521b\u5efa3\u4e2aQCheckBox\u7ec4\u4ef6&#xff0c;\u8fd93\u4e2a\u7ec4\u4ef6\u7684\u6307\u9488\u5df2\u7ecf\u5b9a\u4e49\u4e3aQWDlgManual\u7684\u79c1\u6709\u53d8\u91cf&#xff0c;\u7136\u540e\u521b\u5efa\u4e00\u4e2a\u6c34\u5e73\u5e03\u5c40HLay1&#xff0c;\u5c063\u4e2aCheckBox\u6dfb\u52a0\u5230\u8fd9\u4e2a\u6c34\u5e73\u5e03\u5c40\u91cc\u3002<\/p>\n<\/li>\n<li>\n<p>\u521b\u5efa3\u4e2aQRadioButton\u7ec4\u4ef6&#xff0c;\u5e76\u521b\u5efa\u4e00\u4e2a\u6c34\u5e73\u5e03\u5c40HLay2&#xff0c;\u5c063\u4e2aRadioButton\u6dfb\u52a0\u5230\u8fd9\u4e2a\u6c34\u5e73\u5e03\u5c40\u91cc\u3002<\/p>\n<\/li>\n<li>\n<p>\u521b\u5efa3\u4e2aQPushButton\u7ec4\u4ef6&#xff0c;\u5e76\u521b\u5efa\u4e00\u4e2a\u6c34\u5e73\u5e03\u5c40HLay3&#xff0c;\u5c063\u4e2aPushButton\u6dfb\u52a0\u5230\u8fd9\u4e2a\u6c34\u5e73\u5e03\u5c40\u91cc&#xff0c;\u5e76\u9002\u5f53\u6dfb\u52a0\u6c34\u5e73\u7a7a\u683c\u3002<\/p>\n<\/li>\n<li>\n<p>\u521b\u5efa\u4e00\u4e2aQPlainTextEdit\u7ec4\u4ef6&#xff0c;\u8bbe\u7f6e\u5176\u6587\u5b57\u5185\u5bb9&#xff0c;\u5e76\u8bbe\u7f6e\u5176\u5b57\u4f53\u3002<\/p>\n<\/li>\n<li>\n<p>\u521b\u5efa\u4e00\u4e2a\u5782\u76f4\u5e03\u5c40VLay&#xff0c;\u5c06\u524d\u9762\u521b\u5efa\u76843\u4e2a\u6c34\u5e73\u5e03\u5c40\u548c\u6587\u672c\u6846\u4f9d\u6b21\u6dfb\u52a0\u5230\u6b64\u5e03\u5c40\u91cc\u3002<\/p>\n<\/li>\n<li>\n<p>\u8bbe\u7f6e\u5782\u76f4\u5e03\u5c40\u4e3a\u7a97\u4f53\u7684\u4e3b\u5e03\u5c40\u3002<\/p>\n<\/li>\n<\/ul>\n<p>\u5982\u6b64\u521b\u5efa\u7ec4\u4ef6\u5e76\u8bbe\u7f6e\u5e03\u5c40\u540e&#xff0c;\u8fd0\u884c\u53ef\u4ee5\u5f97\u5230\u5982\u539f\u4e66\u7684\u56fe2-14\u6240\u793a\u7684\u754c\u9762\u6548\u679c\u3002\u8fd9\u91cc\u5b8c\u5168\u662f\u91c7\u7528\u4ee3\u7801\u6765\u5b9e\u73b0\u7ec4\u4ef6\u521b\u5efa\u4e0e\u5e03\u5c40\u7684\u8bbe\u7f6e&#xff0c;\u800c\u8fd9\u4e9b\u529f\u80fd\u5728\u53ef\u89c6\u5316\u8bbe\u8ba1\u4e2d\u662f\u7531setupUi()\u51fd\u6570\u6839\u636e\u754c\u9762\u7684\u53ef\u89c6\u5316\u8bbe\u8ba1\u7ed3\u679c\u81ea\u52a8\u5b9e\u73b0\u7684\u3002<\/p>\n<p>\u91c7\u7528\u4ee3\u7801\u8bbe\u8ba1\u5b9e\u73b0UI\u65f6&#xff0c;\u9700\u8981\u5bf9\u7ec4\u4ef6\u7684\u5e03\u5c40\u6709\u4e2a\u5b8c\u6574\u7684\u89c4\u5212&#xff0c;\u4e0d\u5982\u53ef\u89c6\u5316\u8bbe\u8ba1\u76f4\u89c2&#xff0c;\u4e14\u7f16\u5199\u4ee3\u7801\u5de5\u4f5c\u91cf\u5927\u3002<\/p>\n<h4>2.3.3\u3000\u4fe1\u53f7\u4e0e\u69fd\u7684\u5173\u8054<\/h4>\n<p>\u5728\u7eaf\u4ee3\u7801\u8bbe\u8ba1UI\u65f6&#xff0c;\u4fe1\u53f7\u4e0e\u69fd\u7684\u5173\u8054\u4e5f\u9700\u8981\u7528\u4ee3\u7801\u6765\u5b8c\u6210\u3002\u51fd\u6570iniSignalSlots()\u521d\u59cb\u5316\u6240\u6709\u7684\u4fe1\u53f7\u4e0e\u69fd\u7684\u5173\u8054&#xff0c;\u5176\u5b8c\u6574\u4ee3\u7801\u5982\u4e0b\u3002<\/p>\n<p>void QWDlgManual::iniSignalSlots()<br \/>\n{<br \/>\n\/\/\u4e09\u4e2a\u989c\u8272 QRadioButton\u7684clicked()\u4fe1\u53f7\u4e0esetTextFontColor()\u69fd\u51fd\u6570\u5173\u8054<br \/>\n   connect(rBtnBlue,SIGNAL(clicked()),this,SLOT(setTextFontColor()));<br \/>\n   connect(rBtnRed,SIGNAL(clicked()),this,SLOT(setTextFontColor()));<br \/>\n   connect(rBtnBlack,SIGNAL(clicked()),this,SLOT(setTextFontColor()));<br \/>\n\/\/\u4e09\u4e2a\u5b57\u4f53\u8bbe\u7f6e\u7684  QCheckBox \u7684clicked(bool)\u4fe1\u53f7\u4e0e\u76f8\u5e94\u7684\u69fd\u51fd\u6570\u5173\u8054<br \/>\n   connect(chkBoxUnder,SIGNAL(clicked(bool)),<br \/>\n                this,SLOT(on_chkBoxUnder(bool)));<br \/>\n   connect(chkBoxItalic,SIGNAL(clicked(bool)),<br \/>\n                 this,SLOT(on_chkBoxItalic(bool)));<br \/>\n   connect(chkBoxBold,SIGNAL(clicked(bool)),<br \/>\n                this,SLOT(on_chkBoxBold(bool)));<br \/>\n\/\/\u4e09\u4e2a\u6309\u94ae\u7684\u4fe1\u53f7\u4e0e\u7a97\u4f53\u7684\u69fd\u51fd\u6570\u5173\u8054<br \/>\n   connect(btnOK,SIGNAL(clicked()),this,SLOT(accept()));<br \/>\n   connect(btnCancel,SIGNAL(clicked()),this,SLOT(reject()));<br \/>\n   connect(btnClose,SIGNAL(clicked()),this,SLOT(close()));<br \/>\n}<\/p>\n<p>\u8bbe\u8ba1\u5b8c\u6210\u540e&#xff0c;\u7f16\u8bd1\u5e76\u8fd0\u884c\u7a0b\u5e8f&#xff0c;\u53ef\u4ee5\u5f97\u5230\u5982\u539f\u4e66\u7684\u56fe2-14\u6240\u793a\u7684\u8fd0\u884c\u6548\u679c&#xff0c;\u4e14\u529f\u80fd\u4e0esamp2_2\u76f8\u540c\u3002\u5f88\u663e\u7136&#xff0c;\u91c7\u7528\u7eaf\u4ee3\u7801\u65b9\u5f0f\u5b9e\u73b0UI\u754c\u9762\u662f\u6bd4\u8f83\u590d\u6742\u7684&#xff0c;\u4ee3\u7801\u8bbe\u8ba1\u7684\u5de5\u4f5c\u91cf\u5927\u800c\u7e41\u7410\u3002<\/p>\n<h3>2.4\u3000\u6df7\u5408\u65b9\u5f0fUI\u8bbe\u8ba1<\/h3>\n<h4>2.4.1\u3000\u8bbe\u8ba1\u76ee\u7684<\/h4>\n<p>\u53ef\u89c6\u5316UI\u8bbe\u8ba1\u65e0\u9700\u4eba\u5de5\u7f16\u5199\u4ee3\u7801\u53bb\u5904\u7406\u5927\u91cf\u7e41\u7410\u7684\u754c\u9762\u7ec4\u4ef6\u7684\u521b\u5efa\u548c\u5e03\u5c40\u7ba1\u7406\u5de5\u4f5c&#xff0c;\u53ef\u4ee5\u76f4\u89c2\u5730\u8fdb\u884c\u754c\u9762\u8bbe\u8ba1&#xff0c;\u5927\u5927\u63d0\u9ad8\u5de5\u4f5c\u6548\u7387\u3002\u4f46\u662f\u53ef\u89c6\u5316UI\u8bbe\u8ba1\u4e5f\u5b58\u5728\u4e00\u4e9b\u7f3a\u9677&#xff0c;\u5982\u67d0\u4e9b\u7ec4\u4ef6\u65e0\u6cd5\u53ef\u89c6\u5316\u5730\u6dfb\u52a0\u5230\u754c\u9762\u4e0a&#xff0c;\u6bd4\u5982\u5728\u5de5\u5177\u680f\u4e0a\u65e0\u6cd5\u53ef\u89c6\u5316\u6dfb\u52a0ComboBox\u7ec4\u4ef6&#xff0c;\u800c\u7528\u4ee3\u7801\u5c31\u53ef\u4ee5\u3002<\/p>\n<p>\u91c7\u7528\u7eaf\u4ee3\u7801\u65b9\u5f0f\u8fdb\u884cUI\u8bbe\u8ba1\u867d\u7136\u65e0\u6240\u4e0d\u80fd&#xff0c;\u4f46\u662f\u8bbe\u8ba1\u6548\u7387\u592a\u4f4e&#xff0c;\u8fc7\u7a0b\u975e\u5e38\u7e41\u7410&#xff0c;\u800c\u53ef\u89c6\u5316UI\u8bbe\u8ba1\u7b80\u5355\u9ad8\u6548\u3002\u6240\u4ee5&#xff0c;\u80fd\u7528\u53ef\u89c6\u5316\u8bbe\u8ba1\u7684\u5c31\u5c3d\u53ef\u80fd\u7528\u53ef\u89c6\u5316\u8bbe\u8ba1\u89e3\u51b3&#xff0c;\u65e0\u6cd5\u89e3\u51b3\u7684\u518d\u7528\u7eaf\u4ee3\u7801\u65b9\u5f0f&#xff0c;\u5c06\u4e24\u79cd\u65b9\u6cd5\u7ed3\u5408&#xff0c;\u624d\u662f\u9ad8\u6548\u8bbe\u8ba1UI\u7684\u65b9\u6cd5\u3002<\/p>\n<p>\u672c\u8282\u7528\u4e00\u4e2a\u5b9e\u4f8b\u8bb2\u89e3\u5982\u4f55\u7528\u6df7\u5408\u65b9\u5f0f\u521b\u5efaUI&#xff0c;\u5373\u90e8\u5206\u754c\u9762\u8bbe\u8ba1\u7528UI \u8bbe\u8ba1\u5668\u53ef\u89c6\u5316\u5b9e\u73b0&#xff0c;\u90e8\u5206\u65e0\u6cd5\u5728UI\u8bbe\u8ba1\u5668\u91cc\u5b9e\u73b0\u7684\u754c\u9762\u8bbe\u8ba1\u7528\u4ee3\u7801\u5b9e\u73b0\u3002\u540c\u65f6\u7528\u8fd9\u4e2a\u5b9e\u4f8b\u8bb2\u89e3\u5982\u4f55\u4f7f\u7528\u8d44\u6e90\u6587\u4ef6\u3001\u5982\u4f55\u4f7f\u7528Actions&#xff0c;\u5982\u4f55\u8bbe\u8ba1\u4e3b\u7a97\u53e3\u91cc\u7684\u83dc\u5355\u3001\u5de5\u5177\u680f\u548c\u72b6\u6001\u680f&#xff0c;\u8fd9\u4e9b\u662f\u4e00\u822c\u5e94\u7528\u7a0b\u5e8f\u4e3b\u7a97\u53e3\u90fd\u6709\u7684\u529f\u80fd\u3002<\/p>\n<p>\u539f\u4e66\u7684\u56fe2-15\u662f\u5728UI\u8bbe\u8ba1\u5668\u91cc\u8bbe\u8ba1\u5b8c\u6210\u7684\u7a97\u53e3\u3002\u672c\u9879\u76ee\u7684\u7a97\u53e3\u7c7b\u662f\u4eceQMainWindow\u7ee7\u627f\u800c\u6765\u7684&#xff0c;\u5177\u6709\u4e3b\u83dc\u5355\u3001\u5de5\u5177\u680f\u548c\u72b6\u6001\u680f\u3002\u8fd9\u4e2a\u4f8b\u5b50\u5b9e\u73b0\u4e86\u4e3b\u83dc\u5355\u3001\u4e3b\u5de5\u5177\u680f\u548c\u72b6\u6001\u680f&#xff0c;\u4e2d\u95f4\u5de5\u4f5c\u533a\u91cc\u662f\u4e00\u4e2aTextEdit\u7ec4\u4ef6&#xff0c;\u7528\u4e8e\u7f16\u8f91\u6587\u672c\u3002<\/p>\n<p>\u6211\u4eec\u5e0c\u671b\u5728\u5de5\u5177\u680f\u4e0a\u6dfb\u52a0\u4e00\u4e2aSpinBox\u7ec4\u4ef6&#xff0c;\u7528\u4e8e\u8bbe\u7f6e\u5b57\u4f53\u5927\u5c0f&#xff0c;\u8fd8\u60f3\u5728\u5de5\u5177\u680f\u4e0a\u6dfb\u52a0\u4e00\u4e2aFontComboBox\u7ec4\u4ef6&#xff0c;\u7528\u4e8e\u9009\u62e9\u5b57\u4f53\u540d\u79f0\u3002\u4f46\u662f\u5728UI\u8bbe\u8ba1\u5668\u91cc&#xff0c;\u5c06\u8fd9\u4e9b\u7ec4\u4ef6\u62d6\u653e\u5230\u5de5\u5177\u680f\u4e0a\u65f6&#xff0c;\u4f1a\u663e\u793a\u4e0d\u80fd\u6dfb\u52a0\u5230\u5de5\u5177\u680f\u4e0a\u3002\u540c\u6837&#xff0c;\u5728\u7a97\u4f53\u4e0b\u65b9\u7684\u72b6\u6001\u680f\u4e0a\u4e5f\u4e0d\u80fd\u76f4\u63a5\u6dfb\u52a0Label\u548cProgressBar\u7ec4\u4ef6\u3002\u8fd9\u5c31\u662fUI\u53ef\u89c6\u5316\u8bbe\u8ba1\u7684\u5c40\u9650&#xff0c;\u65e0\u6cd5\u5b9e\u73b0\u67d0\u4e9b\u754c\u9762\u6548\u679c\u3002<\/p>\n<p>\u4f46\u662f\u901a\u8fc7\u7f16\u5199\u4ee3\u7801&#xff0c;\u53ef\u4ee5\u5b9e\u73b0\u671f\u671b\u7684\u754c\u9762\u6548\u679c\u3002\u539f\u4e66\u7684\u56fe2-16\u5c31\u662f\u7a0b\u5e8f\u8fd0\u884c\u65f6\u7684\u7a97\u53e3&#xff0c;\u53ef\u89c1\u5728\u5de5\u5177\u680f\u4e0a\u6dfb\u52a0\u4e86\u8bbe\u7f6e\u5b57\u4f53\u5927\u5c0f\u7684SpinBox\u7ec4\u4ef6\u548c\u9009\u62e9\u5b57\u4f53\u540d\u79f0\u7684FontComboBox\u7ec4\u4ef6&#xff0c;\u5728\u72b6\u6001\u680f\u4e0a\u6dfb\u52a0\u4e86\u663e\u793a\u5f53\u524d\u6587\u4ef6\u540d\u79f0\u7684\u6807\u7b7e&#xff0c;\u8fd8\u6dfb\u52a0\u4e86\u4e00\u4e2aProgressBar\u3002\u901a\u8fc7\u8bbe\u8ba1\u76f8\u5e94\u7684\u69fd\u51fd\u6570\u5e76\u4e0e\u754c\u9762\u7ec4\u4ef6\u7684\u76f8\u5173\u4fe1\u53f7\u8fdb\u884c\u5173\u8054&#xff0c;\u5b9e\u73b0\u4e86\u671f\u671b\u7684\u7a0b\u5e8f\u529f\u80fd\u3002<\/p>\n<p>\u8fd9\u5c31\u662f\u6df7\u5408\u65b9\u5f0f\u754c\u9762\u8bbe\u8ba1\u7684\u6548\u679c&#xff0c;\u5148\u5c06\u6240\u6709\u5728UI\u8bbe\u8ba1\u5668\u91cc\u53ef\u8bbe\u8ba1\u7684\u9759\u6001UI\u5143\u7d20\u90fd\u7528\u53ef\u89c6\u5316\u7684\u65b9\u5f0f\u5b9e\u73b0&#xff0c;\u4e0d\u80fd\u5728UI\u8bbe\u8ba1\u5668\u91cc\u53ef\u89c6\u5316\u8bbe\u8ba1\u7684\u518d\u7528\u4ee3\u7801\u5b9e\u73b0\u3002<\/p>\n<h4>2.4.2\u3000\u521b\u5efa\u9879\u76ee\u5e76\u6dfb\u52a0\u8d44\u6e90\u6587\u4ef6<\/h4>\n<p>\u521b\u5efa\u4e00\u4e2aWidget Application\u9879\u76ee&#xff0c;\u5728\u5411\u5bfc\u7684\u521b\u5efa\u7a97\u53e3\u7c7b\u65f6&#xff0c;\u9009\u62e9\u57fa\u7c7bQMainWindow&#xff0c;\u65b0\u5efa\u7c7b\u7684\u540d\u79f0\u8bbe\u7f6e\u4e3aQWMainWind&#xff0c;\u5e76\u9009\u62e9\u751f\u6210\u7a97\u4f53\u3002<\/p>\n<p>\u672c\u9879\u76ee\u4e3b\u7a97\u53e3\u6709\u83dc\u5355\u548c\u5de5\u5177\u680f&#xff0c;\u9700\u8981\u4f7f\u7528\u5230\u56fe\u6807\u3002\u5728Qt\u9879\u76ee\u4e2d&#xff0c;\u56fe\u6807\u53ef\u4ee5\u5b58\u50a8\u5728\u8d44\u6e90\u6587\u4ef6\u91cc&#xff0c;\u4e3a\u6b64\u5148\u521b\u5efa\u4e00\u4e2a\u8d44\u6e90\u6587\u4ef6\u3002\u5728Qt Creator\u91cc\u5355\u51fb\u201cFile\u201d\u2192\u201cNew File or Project\u2026\u201d\u83dc\u5355\u9879&#xff0c;\u5728\u65b0\u5efa\u6587\u4ef6\u4e0e\u9879\u76ee\u5bf9\u8bdd\u6846\u91cc\u9009\u62e9\u201cQt Resource File\u201d&#xff0c;\u7136\u540e\u6309\u7167\u5411\u5bfc\u7684\u6307\u5f15\u8bbe\u7f6e\u8d44\u6e90\u6587\u4ef6\u7684\u6587\u4ef6\u540d&#xff0c;\u5e76\u6dfb\u52a0\u5230\u5f53\u524d\u9879\u76ee\u91cc\u3002<\/p>\n<p>\u672c\u9879\u76ee\u521b\u5efa\u7684\u8d44\u6e90\u6587\u4ef6\u540d\u4e3ares.qrc\u3002\u5728\u9879\u76ee\u6587\u4ef6\u76ee\u5f55\u6811\u91cc&#xff0c;\u4f1a\u81ea\u52a8\u521b\u5efa\u4e00\u4e2a\u4e0eHeaders\u3001Sources\u548cForms\u5e76\u5217\u7684Resources\u6587\u4ef6\u7ec4&#xff0c;\u5728Resources\u7ec4\u91cc\u6709res.qrc\u8282\u70b9\u3002\u5728\u8d44\u6e90\u6587\u4ef6\u540d\u8282\u70b9\u4e0a\u53f3\u51fb&#xff0c;\u5728\u5f39\u51fa\u7684\u5feb\u6377\u83dc\u5355\u4e2d\u9009\u62e9\u201cOpen in Editor\u201d\u6253\u5f00\u8d44\u6e90\u6587\u4ef6\u7f16\u8f91\u5668&#xff08;\u5982\u539f\u4e66\u7684\u56fe2-17\u6240\u793a&#xff09;\u3002<\/p>\n<p>\u8d44\u6e90\u6587\u4ef6\u6700\u4e3b\u8981\u7684\u4e00\u4e2a\u529f\u80fd\u5c31\u662f\u5b58\u50a8\u56fe\u6807\u548c\u56fe\u7247\u6587\u4ef6&#xff0c;\u4ee5\u4fbf\u5728\u7a0b\u5e8f\u91cc\u4f7f\u7528\u3002\u5728\u8d44\u6e90\u6587\u4ef6\u91cc\u9996\u5148\u5efa\u4e00\u4e2a\u524d\u7f00&#xff08;Prefix&#xff09;&#xff0c;\u4f8b\u5982images&#xff0c;\u65b9\u6cd5\u662f\u5728\u56fe2-17\u663e\u793a\u7684\u7a97\u53e3\u53f3\u4e0b\u65b9\u7684\u529f\u80fd\u533a\u5355\u51fb\u201cAdd\u201d\u6309\u94ae\u4e0b\u7684\u201cAdd Prefix\u201d&#xff0c;\u8bbe\u7f6e\u4e00\u4e2a\u524d\u7f00\u540d&#xff0c;\u524d\u7f00\u5c31\u7c7b\u4f3c\u4e8e\u662f\u8d44\u6e90\u7684\u5206\u7ec4\u3002\u7136\u540e\u518d\u5355\u51fb\u201cAdd\u201d\u6309\u94ae\u4e0b\u7684\u201cAdd Files\u201d\u9009\u62e9\u56fe\u6807\u6587\u4ef6\u5373\u53ef\u3002\u5982\u679c\u6240\u9009\u7684\u56fe\u6807\u6587\u4ef6\u4e0d\u5728\u672c\u9879\u76ee\u7684\u5b50\u76ee\u5f55\u91cc&#xff0c;\u4f1a\u63d0\u793a\u590d\u5236\u6587\u4ef6\u5230\u9879\u76ee\u4e0b\u7684\u5b50\u76ee\u5f55\u3002\u6240\u4ee5&#xff0c;\u6700\u597d\u5c06\u56fe\u6807\u7b49\u539f\u59cb\u6587\u4ef6\u653e\u5728\u9879\u76ee\u7684\u5b50\u76ee\u5f55\u4e0b\u3002<\/p>\n<h4>2.4.3\u3000\u8bbe\u8ba1Action<\/h4>\n<p>QAction\u662f\u4e00\u4e2a\u975e\u5e38\u6709\u7528\u7684\u7c7b&#xff0c;\u5728\u754c\u9762\u8bbe\u8ba1\u65f6\u521b\u5efaAction&#xff0c;\u5e76\u7f16\u5199\u5176trigger()\u4fe1\u53f7\u7684\u69fd\u51fd\u6570\u3002\u4f7f\u7528\u8bbe\u8ba1\u7684Action\u53ef\u4ee5\u521b\u5efa\u83dc\u5355\u9879\u3001\u5de5\u5177\u680f\u6309\u94ae&#xff0c;\u8fd8\u53ef\u4ee5\u8bbe\u7f6e\u4e3aQToolButton\u6309\u94ae\u7684\u5173\u8054Action\u3002\u70b9\u51fb\u8fd9\u4e9b\u7531Action\u521b\u5efa\u7684\u83dc\u5355\u9879\u3001\u6309\u94ae\u5c31\u662f\u6267\u884cAction\u7684\u69fd\u51fd\u6570\u3002<\/p>\n<p>\u5728\u9879\u76ee\u6587\u4ef6\u76ee\u5f55\u6811\u91cc\u53cc\u51fbqwmainwind.ui&#xff0c;\u8fdb\u5165UI\u8bbe\u8ba1\u5668&#xff0c;\u5728\u7a97\u4f53\u7684\u4e0b\u65b9\u6709\u4e00\u4e2aAction Editor\u7684\u9762\u677f&#xff0c;\u539f\u4e66\u7684\u56fe2-18\u662f\u672c\u9879\u76ee\u8bbe\u8ba1\u597d\u4e4b\u540e\u7684Action\u5217\u8868\u3002\u6839\u636e\u56fe\u6807\u548c\u6587\u5b57\u5c31\u53ef\u4ee5\u77e5\u9053\u6bcf\u4e2aAction\u7684\u529f\u80fd\u3002<\/p>\n<p>\u5728Action\u7f16\u8f91\u5668\u7684\u4e0a\u65b9\u6709\u4e00\u4e2a\u5de5\u5177\u680f&#xff0c;\u53ef\u4ee5\u65b0\u5efa\u3001\u590d\u5236\u3001\u7c98\u8d34\u3001\u5220\u9664Action&#xff0c;\u8fd8\u53ef\u4ee5\u8bbe\u7f6eAction\u5217\u8868\u7684\u663e\u793a\u65b9\u5f0f\u3002\u82e5\u8981\u7f16\u8f91\u67d0\u4e2aAction&#xff0c;\u5728\u5217\u8868\u91cc\u53cc\u51fb\u8be5Action\u5373\u53ef\u3002\u5355\u51fb\u5de5\u5177\u680f\u4e0a\u7684\u201cNew\u201d\u6309\u94ae\u53ef\u4ee5\u65b0\u5efa\u4e00\u4e2aAction\u3002\u65b0\u5efa\u6216\u7f16\u8f91Action\u7684\u5bf9\u8bdd\u6846\u5982\u539f\u4e66\u7684\u56fe2-19\u6240\u793a\u3002<\/p>\n<p>\u5728\u6b64\u5bf9\u8bdd\u6846\u91cc\u6709\u4ee5\u4e0b\u7684\u4e00\u4e9b\u8bbe\u7f6e\u3002<\/p>\n<ul>\n<li>\n<p>Text&#xff1a;Action\u7684\u663e\u793a\u6587\u5b57&#xff0c;\u8be5\u6587\u5b57\u4f1a\u4f5c\u4e3a\u83dc\u5355\u6807\u9898\u6216\u5de5\u5177\u680f\u6309\u94ae\u6807\u9898\u663e\u793a\u3002\u82e5\u8be5\u6807\u9898\u540e\u9762\u6709\u7701\u7565\u53f7&#xff0c;\u5982\u201c\u6253\u5f00\u2026\u201d&#xff0c;\u5219\u5728\u5de5\u5177\u680f\u6309\u94ae\u4e0a\u663e\u793a\u65f6\u4f1a\u81ea\u52a8\u5ffd\u7565\u7701\u7565\u53f7&#xff0c;\u53ea\u663e\u793a\u201c\u6253\u5f00\u201d\u3002<\/p>\n<\/li>\n<li>\n<p>Object name&#xff1a;\u8be5Action\u7684objectName\u3002\u5e94\u8be5\u9075\u5faa\u81ea\u5df1\u7684\u547d\u540d\u6cd5\u5219&#xff0c;\u5982\u4ee5\u201cact\u201d\u5f00\u5934\u8868\u793a\u8fd9\u662f\u4e00\u4e2aAction\u3002\u56fe2-19\u4e2d\u663e\u793a\u7684\u662f\u6253\u5f00\u6587\u4ef6\u7684Action&#xff0c;\u547d\u540d\u4e3aactOpen\u3002\u5982\u679c\u4e00\u4e2a\u754c\u9762\u4e0aAction\u6bd4\u8f83\u591a&#xff0c;\u8fd8\u53ef\u4ee5\u5206\u7ec4\u547d\u540d&#xff0c;\u5982actFileOpen\u3001actFileNew\u548cactFileSave\u8868\u793a\u201c\u6587\u4ef6\u201d\u7ec4&#xff0c;\u800cactEditCut\u3001actEditCopy\u3001actEditPaste\u7b49\u8868\u793a\u201c\u7f16\u8f91\u201d\u7ec4\u3002<\/p>\n<\/li>\n<li>\n<p>ToolTip&#xff1a;\u8fd9\u4e2a\u6587\u5b57\u5185\u5bb9\u662f\u5f53\u9f20\u6807\u5728\u4e00\u4e2a\u83dc\u5355\u9879\u6216\u5de5\u5177\u680f\u6309\u94ae\u4e0a\u77ed\u6682\u505c\u7559\u65f6\u51fa\u73b0\u7684\u63d0\u793a\u6587\u5b57\u3002<\/p>\n<\/li>\n<li>\n<p>Icon&#xff1a;\u8bbe\u7f6eAction\u7684\u56fe\u6807&#xff0c;\u5355\u51fb\u5176\u53f3\u4fa7\u7684\u6309\u94ae\u53ef\u4ee5\u4ece\u8d44\u6e90\u6587\u4ef6\u91cc\u9009\u62e9\u56fe\u6807&#xff0c;\u6216\u8005\u76f4\u63a5\u9009\u62e9\u56fe\u7247\u6587\u4ef6\u4f5c\u4e3a\u56fe\u6807\u3002<\/p>\n<\/li>\n<li>\n<p>Checkable&#xff1a;\u8bbe\u7f6eAction\u662f\u5426\u53ef\u4ee5\u88ab\u590d\u9009&#xff0c;\u5982\u679c\u9009\u4e2d\u6b64\u9009\u9879&#xff0c;\u90a3\u4e48\u8be5Action\u5c31\u7c7b\u4f3c\u4e8eQCheckbox\u53ef\u4ee5\u6539\u53d8\u5176\u590d\u9009\u72b6\u6001\u3002<\/p>\n<\/li>\n<li>\n<p>Shortcut&#xff1a;\u8bbe\u7f6e\u5feb\u6377\u952e&#xff0c;\u5c06\u8f93\u5165\u5149\u6807\u79fb\u52a8\u5230Shortcut\u65c1\u8fb9\u7684\u7f16\u8f91\u6846\u91cc&#xff0c;\u7136\u540e\u6309\u4e0b\u60f3\u8981\u8bbe\u7f6e\u7684\u5feb\u6377\u952e\u5373\u53ef&#xff0c;\u5982\u201cCtrl&#043;O\u201d\u3002<\/p>\n<\/li>\n<\/ul>\n<p>\u505a\u597d\u8fd9\u4e9b\u8bbe\u7f6e\u540e&#xff0c;\u5355\u51fb\u201cOK\u201d\u6309\u94ae\u5c31\u53ef\u4ee5\u65b0\u5efa\u6216\u4fee\u6539Action\u4e86\u3002\u6240\u6709\u7528\u4e8e\u83dc\u5355\u548c\u5de5\u5177\u680f\u8bbe\u8ba1\u7684\u529f\u80fd\u90fd\u9700\u8981\u7528Action\u6765\u5b9e\u73b0\u3002<\/p>\n<h4>2.4.4\u3000\u8bbe\u8ba1\u83dc\u5355\u548c\u5de5\u5177\u680f<\/h4>\n<p>\u5efa\u7acbAction\u4e4b\u540e&#xff0c;\u5c31\u53ef\u4ee5\u5728\u4e3b\u7a97\u4f53\u4e0a\u8bbe\u8ba1\u83dc\u5355\u548c\u5de5\u5177\u680f\u4e86\u3002\u672c\u9879\u76ee\u7684\u7a97\u4f53\u7c7bQWMainWind\u662f\u4eceQMainWindow\u7ee7\u627f\u7684&#xff0c;\u5177\u6709\u83dc\u5355\u680f\u3001\u5de5\u5177\u680f\u548c\u72b6\u6001\u680f\u3002<\/p>\n<p>\u53cc\u51fb\u9879\u76ee\u6587\u4ef6\u76ee\u5f55\u6811\u91cc\u7684qwmainwind.ui&#xff0c;\u5728UI\u8bbe\u8ba1\u5668\u91cc\u6253\u5f00\u6b64\u7a97\u53e3\u3002\u5728\u7a97\u53e3\u6700\u4e0a\u65b9\u663e\u793a\u201cType Here\u201d\u7684\u5730\u65b9\u662f\u83dc\u5355\u680f&#xff0c;\u83dc\u5355\u680f\u4e0b\u65b9\u662f\u5de5\u5177\u680f&#xff0c;\u7a97\u53e3\u6700\u4e0b\u65b9\u662f\u72b6\u6001\u680f\u3002<\/p>\n<p>\u5728\u83dc\u5355\u680f\u663e\u793a\u201cType Here\u201d\u7684\u5730\u65b9\u53cc\u51fb&#xff0c;\u51fa\u73b0\u4e00\u4e2a\u7f16\u8f91\u6846&#xff0c;\u5728\u7f16\u8f91\u6846\u91cc\u8f93\u5165\u6240\u8981\u8bbe\u8ba1\u83dc\u5355\u7684\u5206\u7ec4\u540d\u79f0&#xff0c;\u5982\u201c\u6587\u4ef6\u201d&#xff0c;\u7136\u540e\u56de\u8f66&#xff0c;\u8fd9\u6837\u5c31\u521b\u5efa\u4e86\u4e00\u4e2a\u201c\u6587\u4ef6\u201d\u83dc\u5355\u5206\u7ec4&#xff0c;\u540c\u6837\u53ef\u4ee5\u521b\u5efa\u201c\u7f16\u8f91\u201d\u201c\u683c\u5f0f\u201d\u5206\u7ec4\u3002<\/p>\n<p>\u521b\u5efa\u4e3b\u83dc\u5355\u7684\u5206\u7ec4\u540e&#xff0c;\u4eceAction\u7f16\u8f91\u5668\u7684\u5217\u8868\u91cc\u5c06\u4e00\u4e2aAction\u62d6\u653e\u5230\u83dc\u5355\u67d0\u4e2a\u5206\u7ec4\u4e0b&#xff0c;\u5c31\u53ef\u4ee5\u521b\u5efa\u4e00\u4e2a\u83dc\u5355\u9879&#xff0c;\u5982\u540c\u5728\u754c\u9762\u4e0a\u653e\u7f6e\u4e00\u4e2a\u7ec4\u4ef6\u4e00\u6837\u3002\u5982\u679c\u9700\u8981\u5728\u83dc\u5355\u91cc\u589e\u52a0\u4e00\u4e2a\u5206\u9694\u6761&#xff0c;\u53cc\u51fb\u201cAdd Seperator\u201d\u5c31\u53ef\u4ee5\u521b\u5efa\u4e00\u4e2a\u5206\u9694\u6761&#xff0c;\u7136\u540e\u62d6\u52a8\u5230\u9700\u8981\u7684\u4f4d\u7f6e\u5373\u53ef\u3002\u5982\u679c\u9700\u8981\u5220\u9664\u67d0\u4e2a\u83dc\u5355\u9879\u6216\u5206\u9694\u6761&#xff0c;\u5355\u51fb\u53f3\u952e&#xff0c;\u9009\u62e9\u201cRemove\u201d\u83dc\u5355\u9879\u3002\u83dc\u5355\u8bbe\u8ba1\u7684\u7ed3\u679c\u5982\u539f\u4e66\u7684\u56fe2-20\u6240\u793a\u3002<\/p>\n<p>\u8bbe\u8ba1\u5de5\u5177\u680f\u7684\u65b9\u5f0f\u4e5f\u5f88\u76f8\u4f3c\u3002\u5c06\u4e00\u4e2aAction\u62d6\u653e\u5230\u7a97\u53e3\u7684\u5de5\u5177\u680f\u4e0a&#xff0c;\u5c31\u4f1a\u65b0\u5efa\u4e00\u4e2a\u5de5\u5177\u680f\u6309\u94ae\u3002\u540c\u6837\u53ef\u4ee5\u5728\u5de5\u5177\u680f\u4e0a\u6dfb\u52a0\u5206\u9694\u6761&#xff0c;\u53ef\u4ee5\u79fb\u9664\u5de5\u5177\u680f\u6309\u94ae\u3002\u4e3b\u7a97\u53e3\u4e0a\u521d\u59cb\u7684\u53ea\u6709\u4e00\u4e2a\u5de5\u5177\u680f&#xff0c;\u5982\u679c\u9700\u8981\u8bbe\u8ba1\u591a\u4e2a\u5de5\u5177\u680f&#xff0c;\u5728\u4e3b\u7a97\u53e3\u4e0a\u5355\u51fb\u53f3\u952e&#xff0c;\u5355\u51fb\u201cAdd Tool Bar\u201d\u5373\u53ef\u65b0\u5efa\u4e00\u4e2a\u5de5\u5177\u680f\u3002<\/p>\n<p>\u5de5\u5177\u680f\u4e0a\u6309\u94ae\u7684\u663e\u793a\u65b9\u5f0f\u6709\u591a\u79cd&#xff0c;\u53ea\u9700\u8bbe\u7f6e\u5de5\u5177\u680f\u7684toolButtonStyle\u5c5e\u6027&#xff0c;\u8fd9\u662fQt::ToolButtonStyle\u679a\u4e3e\u7c7b\u578b&#xff0c;\u7f3a\u7701\u7684\u662fQt::ToolButtonIconOnly&#xff0c;\u5373\u53ea\u663e\u793a\u6309\u94ae\u7684\u56fe\u6807\u3002\u8fd8\u53ef\u4ee5\u8bbe\u7f6e\u4e3a&#xff1a;<\/p>\n<ul>\n<li>\n<p>Qt::ToolButtonTextBesideIcon\u2014\u2014\u6587\u5b57\u663e\u793a\u5728\u6309\u94ae\u65c1\u8fb9&#xff1b;<\/p>\n<\/li>\n<li>\n<p>Qt::ToolButtonTextOnly\u2014\u2014\u53ea\u663e\u793a\u6587\u5b57&#xff1b;<\/p>\n<\/li>\n<li>\n<p>Qt::ToolButtonTextUnderIcon\u2014\u2014\u6587\u5b57\u663e\u793a\u5728\u6309\u94ae\u4e0b\u65b9\u3002<\/p>\n<\/li>\n<\/ul>\n<p>\u540c\u65f6\u5728\u7a97\u4f53\u4e0a\u653e\u7f6e\u4e00\u4e2aQTextEdit\u7ec4\u4ef6&#xff0c;\u5176objectname\u8bbe\u7f6e\u4e3atxtEdit\u3002\u5982\u6b64\u5c31\u5b8c\u6210\u4e86\u83dc\u5355\u680f\u3001\u5de5\u5177\u680f\u7684\u53ef\u89c6\u5316\u8bbe\u8ba1\u3002<\/p>\n<p>\u53ef\u89c6\u5316\u8bbe\u8ba1\u7684\u754c\u9762\u7684\u5e95\u5c42\u5b9e\u73b0\u662f\u7531ui_qwmainwind.h\u6587\u4ef6\u5b9e\u73b0\u7684\u3002\u6253\u5f00ui_qwmainwind.h\u6587\u4ef6&#xff0c;\u80fd\u770b\u5230\u5982\u4e0b\u4ee3\u7801&#xff08;\u5df2\u5220\u9664\u90e8\u5206\u8bbe\u7f6e\u5e03\u5c40\u7684\u4ee3\u7801&#xff09;\u3002<\/p>\n<p>class Ui_QWMainWind<br \/>\n{<br \/>\npublic:<br \/>\n   QAction *actCut;<br \/>\n   QAction *actCopy;<br \/>\n   QAction *actPaste;<br \/>\n   QAction *actFontBold;<br \/>\n   QAction *actFontItalic;<br \/>\n   QAction *actFontUnder;<br \/>\n   QAction *actClose;<br \/>\n   QAction *actOpen;<br \/>\n   QAction *actClear;<br \/>\n   QAction *actFont;<br \/>\n   QAction *actNew;<br \/>\n   QAction *actToolbarLab;<br \/>\n   QWidget *centralWidget;<br \/>\n   QtextEdit *txtEdit;<br \/>\n   QSpinBox *spinBox;<br \/>\n   QFontComboBox *fontComboBox;<br \/>\n   QMenuBar *menuBar;<br \/>\n   QMenu *menu;<br \/>\n   QMenu *menu_2;<br \/>\n   QMenu *menu_3;<br \/>\n   QtoolBar *mainToolBar;<br \/>\n   QStatusBar *statusBar;<\/p>\n<p>   void setupUi(QMainWindow *QWMainWind)<br \/>\n   {<br \/>\n      if (QWMainWind-&gt;objectName().isEmpty())<br \/>\n         QWMainWind-&gt;setObjectName(QStringLiteral(&#034;QWMainWind&#034;));<br \/>\n      QWMainWind-&gt;resize(586, 363);<br \/>\n      QFont font;<br \/>\n      font.setPointSize(11);<br \/>\n      QWMainWind-&gt;setFont(font);<\/p>\n<p>      actCut &#061; new QAction(QWMainWind);<br \/>\n      actCut-&gt;setObjectName(QStringLiteral(&#034;actCut&#034;));<br \/>\n      QIcon icon;<br \/>\n      icon.addFile(QStringLiteral(&#034;:\/images\/images\/cut.bmp&#034;), QSize(), QIcon::Normal, QIcon::Off);<br \/>\n      actCut-&gt;setIcon(icon);<\/p>\n<p>      actCopy &#061; new QAction(QWMainWind);<br \/>\n      actCopy-&gt;setObjectName(QStringLiteral(&#034;actCopy&#034;));<br \/>\n      QIcon icon1;<br \/>\n      icon1.addFile(QStringLiteral(&#034;:\/images\/images\/120.bmp&#034;), QSize(), QIcon::Normal, QIcon::Off);<br \/>\n      actCopy-&gt;setIcon(icon1);<\/p>\n<p>\/\/  \u521b\u5efa\u5176\u4ed6action&#xff0c;\u7701\u7565&#8230;<br \/>\n      centralWidget &#061; new QWidget(QWMainWind);<br \/>\n      centralWidget-&gt;setObjectName(QStringLiteral(&#034;centralWidget&#034;));<br \/>\n      txtEdit &#061; new QtextEdit(centralWidget);<br \/>\n      txtEdit-&gt;setObjectName(QStringLiteral(&#034;txtEdit&#034;));<br \/>\n      txtEdit-&gt;setGeometry(QRect(20, 20, 231, 221));<br \/>\n      QFont font1;<br \/>\n      font1.setPointSize(16);<br \/>\n      txtEdit-&gt;setFont(font1);<br \/>\n      QWMainWind-&gt;setCentralWidget(centralWidget);<br \/>\n\/\/\u4e3b\u7a97\u4f53\u521b\u5efa\u83dc\u5355\u680f\u3001\u5de5\u5177\u680f\u548c\u72b6\u6001\u680f<br \/>\n      menuBar &#061; new QMenuBar(QWMainWind);<br \/>\n      menuBar-&gt;setObjectName(QStringLiteral(&#034;menuBar&#034;));<br \/>\n      menuBar-&gt;setGeometry(QRect(0, 0, 586, 23));<br \/>\n      menu &#061; new QMenu(menuBar);<br \/>\n      menu-&gt;setObjectName(QStringLiteral(&#034;menu&#034;));<br \/>\n      menu_2 &#061; new QMenu(menuBar);<br \/>\n      menu_2-&gt;setObjectName(QStringLiteral(&#034;menu_2&#034;));<br \/>\n      menu_3 &#061; new QMenu(menuBar);<br \/>\n      menu_3-&gt;setObjectName(QStringLiteral(&#034;menu_3&#034;));<br \/>\n      QWMainWind-&gt;setMenuBar(menuBar);<br \/>\n      mainToolBar &#061; new QtoolBar(QWMainWind);<br \/>\n      mainToolBar-&gt;setObjectName(QStringLiteral(&#034;mainToolBar&#034;));<br \/>\n      mainToolBar-&gt;setToolButtonStyle(Qt::ToolButtonTextUnderIcon);<br \/>\n      QWMainWind-&gt;addToolBar(Qt::TopToolBarArea, mainToolBar);<br \/>\n      statusBar &#061; new QStatusBar(QWMainWind);<br \/>\n      statusBar-&gt;setObjectName(QStringLiteral(&#034;statusBar&#034;));<br \/>\n      QWMainWind-&gt;setStatusBar(statusBar);<\/p>\n<p>\/\/\u4e3b\u83dc\u5355\u6dfb\u52a0\u83dc\u5355\u9879<br \/>\n      menuBar-&gt;addAction(menu-&gt;menuAction());<br \/>\n      menuBar-&gt;addAction(menu_2-&gt;menuAction());<br \/>\n      menuBar-&gt;addAction(menu_3-&gt;menuAction());<br \/>\n      menu-&gt;addAction(actNew);<br \/>\n      menu-&gt;addAction(actOpen);<br \/>\n      menu-&gt;addSeparator();<br \/>\n      menu-&gt;addAction(actClose);<br \/>\n      menu_2-&gt;addAction(actCut);<br \/>\n      menu_2-&gt;addAction(actCopy);<br \/>\n      menu_2-&gt;addAction(actPaste);<br \/>\n      menu_2-&gt;addSeparator();<br \/>\n      menu_2-&gt;addAction(actClear);<br \/>\n      menu_3-&gt;addAction(actFontBold);<br \/>\n      menu_3-&gt;addAction(actFontItalic);<br \/>\n      menu_3-&gt;addAction(actFontUnder);<br \/>\n      menu_3-&gt;addSeparator();<br \/>\n      menu_3-&gt;addAction(actToolbarLab);<br \/>\n\/\/\u4e3b\u5de5\u5177\u680f\u6dfb\u52a0\u6309\u94ae<br \/>\n      mainToolBar-&gt;addAction(actNew);<br \/>\n      mainToolBar-&gt;addAction(actOpen);<br \/>\n      mainToolBar-&gt;addAction(actClear);<br \/>\n      mainToolBar-&gt;addSeparator();<br \/>\n      mainToolBar-&gt;addAction(actCut);<br \/>\n      mainToolBar-&gt;addAction(actCopy);<br \/>\n      mainToolBar-&gt;addAction(actPaste);<br \/>\n      mainToolBar-&gt;addSeparator();<br \/>\n      mainToolBar-&gt;addAction(actFontItalic);<br \/>\n      mainToolBar-&gt;addAction(actFontBold);<br \/>\n      mainToolBar-&gt;addAction(actFontUnder);<br \/>\n      mainToolBar-&gt;addSeparator();<\/p>\n<p>      retranslateUi(QWMainWind);<br \/>\n      QMetaObject::connectSlotsByName(QWMainWind);<br \/>\n   } \/\/ setupUi<br \/>\n};<\/p>\n<p>ui_qwmainwind.h\u4e2d\u5b9a\u4e49\u4e86\u7c7bUi_QWMainWind\u3002\u5728public\u90e8\u5206\u5b9a\u4e49\u4e86\u754c\u9762\u6240\u6709Action\u548c\u5404\u79cd\u7ec4\u4ef6\u7684\u6307\u9488\u53d8\u91cf&#xff0c;\u5728setupUi()\u51fd\u6570\u91cc\u4f9d\u6b21\u521b\u5efa\u6240\u6709\u7684Action\u548c\u754c\u9762\u7ec4\u4ef6&#xff0c;\u7136\u540e\u5c06Action\u6dfb\u52a0\u5230\u4e3b\u83dc\u5355\u548c\u5de5\u5177\u680f\u4e0a\u3002<\/p>\n<p>ui_qwmainwind.h\u7684\u4ee3\u7801\u5f88\u957f&#xff0c;\u4e0a\u9762\u7684\u6e05\u5355\u5df2\u7701\u7565\u4e86\u82e5\u5e72\u884c\u3002\u67e5\u770bui_qwmainwind.h\u91cc\u7684\u4ee3\u7801\u6709\u52a9\u4e8e\u4e86\u89e3Action\u3001\u83dc\u5355\u3001\u5de5\u5177\u680f\u7684\u4ee3\u7801\u5b9e\u73b0\u539f\u7406\u3002\u82e5\u6309\u7167\u5b9e\u4f8bsamp2_3\u7684\u65b9\u6cd5\u5b8c\u5168\u901a\u8fc7\u624b\u5de5\u7684\u65b9\u5f0f\u6765\u8bbe\u8ba1\u8fd9\u6837\u4e00\u4e2a\u7a97\u53e3\u65e0\u7591\u662f\u4e00\u4ef6\u7e41\u7410\u7684\u5de5\u4f5c\u3002\u597d\u5728\u91c7\u7528UI\u8bbe\u8ba1\u5668\u8bbe\u8ba1\u754c\u9762\u65f6&#xff0c;\u4e0d\u9700\u8981\u52a8\u624b\u53bb\u7f16\u5199\u8fd9\u4e9b\u4ee3\u7801\u3002\u754c\u9762\u8bbe\u8ba1\u7684\u4ee3\u7801\u5b9e\u73b0\u4ea4\u7ed9Qt\u53bb\u505a\u5c31\u597d\u4e86&#xff0c;\u5b83\u6bd4\u624b\u5de5\u7f16\u5199\u4ee3\u7801\u6548\u7387\u9ad8\u3002<\/p>\n<h4>2.4.5\u3000\u4ee3\u7801\u521b\u5efa\u5176\u4ed6\u754c\u9762\u7ec4\u4ef6<\/h4>\n<p>\u81f3\u6b64&#xff0c;\u5728UI\u8bbe\u8ba1\u5668\u91cc\u5df2\u7ecf\u8bbe\u8ba1\u4e86\u8fd9\u4e2a\u5e94\u7528\u7a0b\u5e8f\u7684\u4e3b\u8981\u754c\u9762\u529f\u80fd\u3002\u73b0\u5728\u60f3\u8981\u5b9e\u73b0\u5982\u539f\u4e66\u7684\u56fe2-16\u6240\u793a\u7684\u754c\u9762&#xff0c;\u5728\u5de5\u5177\u680f\u4e0a\u589e\u52a0\u4e00\u4e2aSpinBox\u7528\u4e8e\u8bbe\u7f6e\u5b57\u4f53\u5927\u5c0f&#xff0c;\u589e\u52a0\u4e00\u4e2aFontComboBox\u6765\u9009\u62e9\u5b57\u4f53\u3002\u5f53\u4ece\u7ec4\u4ef6\u9762\u677f\u91cc\u62d6\u653e\u4e00\u4e2aSpinBox\u5230\u5de5\u5177\u680f\u4e0a\u65f6&#xff0c;\u5374\u53d1\u73b0\u5de5\u5177\u680f\u201c\u62d2\u6536\u201d&#xff01;\u540c\u6837&#xff0c;\u5728\u72b6\u6001\u680f\u4e0a\u653e\u4e00\u4e2aLabel\u548c\u4e00\u4e2aProgreeBar\u4e5f\u662f\u88ab\u201c\u62d2\u6536\u201d\u7684\u3002\u8fd9\u662fUI\u8bbe\u8ba1\u5668\u7684\u5c40\u9650\u6027&#xff0c;\u67d0\u4e9b\u754c\u9762\u6548\u679c\u65e0\u6cd5\u7528\u53ef\u89c6\u5316\u8bbe\u8ba1\u65b9\u5f0f\u5b9e\u73b0\u3002<\/p>\n<p>\u4e3a\u6b64&#xff0c;\u9700\u8981\u7f16\u5199\u4e00\u4e9b\u4ee3\u7801\u6765\u5b9e\u73b0\u8fd9\u4e9b\u65e0\u6cd5\u53ef\u89c6\u5316\u8bbe\u8ba1\u7684\u754c\u9762\u529f\u80fd\u3002\u5148\u5728QWMainWind\u7c7b\u5b9a\u4e49\u91cc\u589e\u52a0\u4e00\u4e9b\u53d8\u91cf\u548c\u51fd\u6570\u5b9a\u4e49&#xff0c;\u589e\u52a0\u7684\u5b9a\u4e49\u5982\u4e0b&#xff1a;<\/p>\n<p>class QWMainWind : public QMainWindow<br \/>\n{<br \/>\nprivate:<br \/>\n   QLabel     *fLabCurFile;\/\/\u72b6\u6001\u680f\u91cc\u663e\u793a\u5f53\u524d\u6587\u4ef6\u7684Label<br \/>\n   QProgressBar   *progressBar1;\/\/\u72b6\u6001\u680f\u4e0a\u7684\u8fdb\u5ea6\u6761<br \/>\n   QSpinBox      *spinFontSize;\/\/ \u5b57\u4f53\u5927\u5c0fspinBox<br \/>\n   QFontComboBox   *comboFont;\/\/\u5b57\u4f53\u540d\u79f0comboBox<br \/>\n   void   iniUI(); \/\/\u4ee3\u7801\u5b9e\u73b0\u7684UI\u521d\u59cb\u5316<br \/>\n};<\/p>\n<p>iniUI()\u51fd\u6570\u7528\u4e8e\u521b\u5efa\u8fd9\u4e9b\u754c\u9762\u7ec4\u4ef6&#xff0c;\u5e76\u6dfb\u52a0\u5230\u5de5\u5177\u680f\u6216\u72b6\u6001\u680f&#xff0c;\u5176\u5b9e\u73b0\u4ee3\u7801\u5982\u4e0b&#xff1a;<\/p>\n<p>void QWMainWind::iniUI()<br \/>\n{\/\/\u72b6\u6001\u680f\u4e0a\u6dfb\u52a0\u7ec4\u4ef6<br \/>\n   fLabCurFile&#061;new QLabel;<br \/>\n   fLabCurFile-&gt;setMinimumWidth(150);<br \/>\n   fLabCurFile-&gt;setText(&#034;\u5f53\u524d\u6587\u4ef6&#xff1a;&#034;);<br \/>\n   ui-&gt;statusBar-&gt;addWidget(fLabCurFile);\/\/\u6dfb\u52a0\u5230\u72b6\u6001\u680f<\/p>\n<p>   progressBar1&#061;new QProgressBar;<br \/>\n   progressBar1-&gt;setMaximumWidth(200);<br \/>\n   progressBar1-&gt;setMinimum(5);<br \/>\n   progressBar1-&gt;setMaximum(50);<br \/>\n   progressBar1-&gt;setValue(ui-&gt;txtEdit-&gt;font().pointSize());<br \/>\n   ui-&gt;statusBar-&gt;addWidget(progressBar1); \/\/\u6dfb\u52a0\u5230\u72b6\u6001\u680f<br \/>\n\/\/\u5de5\u5177\u680f\u4e0a\u6dfb\u52a0\u7ec4\u4ef6<br \/>\n   spinFontSize &#061; new QSpinBox;\/\/\u6587\u5b57\u5927\u5c0f SpinBox<br \/>\n   spinFontSize-&gt;setMinimum(5);<br \/>\n   spinFontSize-&gt;setMaximum(50);<br \/>\n   spinFontSize-&gt;setValue(ui-&gt;txtEdit-&gt;font().pointSize());<br \/>\n   spinFontSize-&gt;setMinimumWidth(50);<br \/>\n   ui-&gt;mainToolBar-&gt;addWidget(new QLabel(&#034;\u5b57\u4f53\u5927\u5c0f &#034;));<br \/>\n   ui-&gt;mainToolBar-&gt;addWidget(spinFontSize); \/\/SpinBox\u6dfb\u52a0\u5230\u5de5\u5177\u680f<\/p>\n<p>   ui-&gt;mainToolBar-&gt;addSeparator(); \/\/\u5206\u9694\u6761<br \/>\n   ui-&gt;mainToolBar-&gt;addWidget(new QLabel(&#034; \u5b57\u4f53 &#034;));<br \/>\n   comboFont &#061; new QFontComboBox;<br \/>\n   comboFont-&gt;setMinimumWidth(150);<br \/>\n   ui-&gt;mainToolBar-&gt;addWidget(comboFont);\/\/\u6dfb\u52a0\u5230\u5de5\u5177\u680f<\/p>\n<p>   setCentralWidget(ui-&gt;txtEdit);<br \/>\n}<\/p>\n<p>iniUI()\u51fd\u6570\u5b9e\u73b0\u5982\u4e0b\u7684\u529f\u80fd\u3002<\/p>\n<ul>\n<li>\n<p>\u521b\u5efa\u4e00\u4e2aQlabel\u7c7b\u578b\u7684\u7ec4\u4ef6fLabCurFile\u5e76\u5c06\u5176\u6dfb\u52a0\u5230\u72b6\u6001\u680f\u3002<\/p>\n<\/li>\n<li>\n<p>\u521b\u5efa\u4e00\u4e2aQProgressBar\u7c7b\u578b\u7684\u7ec4\u4ef6progressBar1\u5e76\u6dfb\u52a0\u5230\u72b6\u6001\u680f\u3002<\/p>\n<\/li>\n<li>\n<p>\u521b\u5efaQSpinBox \u7c7b\u578b\u7ec4\u4ef6spinFontSize\u5e76\u8bbe\u7f6e\u5176\u5c5e\u6027&#xff0c;\u7136\u540e\u6dfb\u52a0\u5230\u5de5\u5177\u680f\u3002<\/p>\n<\/li>\n<li>\n<p>\u521b\u5efa\u4e00\u4e2aQFontComboBox\u7c7b\u578b\u7684\u7ec4\u4ef6\u5e76\u6dfb\u52a0\u5230\u5de5\u5177\u680f\u91cc\u3002<\/p>\n<\/li>\n<\/ul>\n<p>\u5b9e\u73b0\u4e86iniUI()\u51fd\u6570\u4e4b\u540e&#xff0c;\u5728QWMainWind\u7684\u6784\u9020\u51fd\u6570\u91cc\u8c03\u7528iniUI()\u51fd\u6570&#xff0c;\u73b0\u5728\u7684\u6784\u9020\u51fd\u6570\u4ee3\u7801\u5b9e\u73b0\u5982\u4e0b&#xff1a;<\/p>\n<p>QWMainWind::QWMainWind(QWidget *parent) :   QMainWindow(parent),<br \/>\n   ui(new Ui::QWMainWind)<br \/>\n{<br \/>\n   ui-&gt;setupUi(this);<br \/>\n   iniUI();<br \/>\n}<\/p>\n<p>\u6ce8\u610f&#xff1a;iniUI()\u51fd\u6570\u4e00\u5b9a\u8981\u5728 ui-&gt;setupUi(this)\u4e4b\u540e\u518d\u8c03\u7528&#xff0c;\u4e24\u884c\u8bed\u53e5\u7684\u5148\u540e\u987a\u5e8f\u4e0d\u80fd\u8c03\u6362\u3002\u56e0\u4e3aui-&gt; setupUi(this)\u5b9e\u73b0\u4e86\u53ef\u89c6\u5316\u8bbe\u8ba1\u7684\u754c\u9762\u7684\u521b\u5efa&#xff0c;iniUI()\u662f\u5728\u53ef\u89c6\u5316\u521b\u5efa\u7684\u754c\u9762\u57fa\u7840\u4e4b\u4e0a\u6dfb\u52a0\u5176\u4ed6\u7ec4\u4ef6&#xff0c;\u6240\u4ee5\u5fc5\u987b\u5728\u5176\u540e\u9762\u8c03\u7528\u3002<\/p>\n<p>\u73b0\u5728\u7f16\u8bd1\u540e\u8fd0\u884c\u5c31\u53ef\u4ee5\u51fa\u73b0\u5982\u56fe2-17\u6240\u793a\u7684\u754c\u9762\u4e86&#xff0c;\u754c\u9762\u7531\u53ef\u89c6\u5316\u8bbe\u8ba1\u548c\u4ee3\u7801\u8bbe\u8ba1\u6df7\u5408\u5b9e\u73b0\u3002<\/p>\n<h4>2.4.6\u3000Action\u7684\u529f\u80fd\u5b9e\u73b0<\/h4>\n<p>Action\u662f\u4e00\u79cd\u4e0d\u53ef\u89c1\u7684\u754c\u9762\u5143\u7d20&#xff0c;\u4e3b\u8981\u7528\u4e8e\u83dc\u5355\u9879\u3001\u5de5\u5177\u680f\u6309\u94ae\u7684\u8bbe\u8ba1\u3002Action\u7684\u4e3b\u8981\u4fe1\u53f7\u662ftrigger()&#xff0c;\u4e3a\u4e00\u4e2aAction\u7684trigger()\u4fe1\u53f7\u7f16\u5199\u69fd\u51fd\u6570\u4e4b\u540e&#xff0c;\u83dc\u5355\u548c\u5de5\u5177\u680f\u4e0a\u7531\u6b64Action\u521b\u5efa\u7684\u83dc\u5355\u9879\u548c\u5de5\u5177\u680f\u6309\u94ae\u5c31\u90fd\u5173\u8054\u6b64\u69fd\u51fd\u6570\u3002<\/p>\n<h5>1&#xff0e;\u7f16\u8f91\u529f\u80fdAction\u7684\u5b9e\u73b0<\/h5>\n<p>\u7528\u4e8e\u7f16\u8f91\u7684Action\u6709\u526a\u5207\u3001\u590d\u5236\u3001\u7c98\u8d34\u548c\u6e05\u9664\u7684\u529f\u80fd&#xff0c;\u4ee5\u4fbf\u5bf9txtEdit\u7ec4\u4ef6\u8fdb\u884c\u76f8\u5e94\u7684\u64cd\u4f5c\u3002\u800cQTextEdit\u7c7b\u5c31\u6709\u76f8\u5e94\u7684\u69fd\u51fd\u6570&#xff0c;\u65e0\u9700\u518d\u7f16\u5199\u5b9e\u73b0\u4ee3\u7801&#xff0c;\u53ea\u9700\u5c06Action\u7684trigger()\u4fe1\u53f7\u4e0etxtEdit\u7684\u76f8\u5e94\u69fd\u51fd\u6570\u8fdb\u884c\u5173\u8054\u5373\u53ef\u3002\u5728Signals\u548cSlots\u7f16\u8f91\u5668\u91cc\u8bbe\u7f6e\u4fe1\u53f7\u4e0e\u69fd\u7684\u5173\u8054&#xff0c;\u8bbe\u8ba1\u597d\u540e\u7684\u51e0\u4e2aAction\u7684\u5173\u8054\u5982\u539f\u4e66\u7684\u56fe2-21\u6240\u793a\u3002<\/p>\n<h5>2&#xff0e;\u5176\u4ed6Action\u7684\u529f\u80fd\u5b9e\u73b0<\/h5>\n<p>Action\u7684\u4e3b\u8981\u4fe1\u53f7\u662ftrigger()\u548ctrigger(bool)&#xff0c;\u5728\u5355\u51fb\u83dc\u5355\u9879\u6216\u5de5\u5177\u680f\u6309\u94ae\u65f6\u53d1\u5c04\u3002<\/p>\n<p>\u7528\u4e8e\u8bbe\u7f6e\u7c97\u4f53\u3001\u659c\u4f53\u548c\u4e0b\u5212\u7ebf\u76843\u4e2aAction\u5177\u6709Checkable\u5c5e\u6027&#xff0c;\u9009\u62e9trigger(bool)\u4fe1\u53f7\u8bbe\u8ba1\u69fd\u51fd\u6570\u66f4\u5408\u9002&#xff0c;\u8be5\u4fe1\u53f7\u4f1a\u5c06Action\u7684\u590d\u9009\u72b6\u6001\u4f5c\u4e3a\u4e00\u4e2a\u53c2\u6570\u4f20\u9012&#xff0c;\u5728\u54cd\u5e94\u4ee3\u7801\u91cc\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u3002\u5176\u4ed6Action\u53ef\u9009\u62e9trigger()\u4fe1\u53f7\u751f\u6210\u69fd\u51fd\u6570\u3002\u5728Action\u7684\u201cGo to slot\u201d\u5bf9\u8bdd\u6846&#xff0c;\u9009\u62e9\u4fe1\u53f7\u4e3aAction\u521b\u5efa\u69fd\u51fd\u6570\u3002<\/p>\n<p>\u4e0b\u9762\u662f\u7528\u4e8e\u8bbe\u7f6e\u5b57\u4f53\u7c97\u4f53\u7684actFontBold\u69fd\u51fd\u6570\u4ee3\u7801&#xff0c;\u4f7f\u7528\u4e86trigger(bool)\u4fe1\u53f7\u3002<\/p>\n<p>void QWMainWind::on_actFontBold_triggered(bool checked)<br \/>\n{<br \/>\n   QtextCharFormat fmt;<br \/>\n   fmt&#061;ui-&gt;txtEdit-&gt;currentCharFormat();<br \/>\n   if (checked)<br \/>\n     fmt.setFontWeight(QFont::Bold);<br \/>\n   else<br \/>\n     fmt.setFontWeight(QFont::Normal);<br \/>\n   ui-&gt;txtEdit-&gt;mergeCurrentCharFormat(fmt);<br \/>\n}<\/p>\n<p>\u5176\u4ed6Action\u7684\u69fd\u51fd\u6570\u4ee3\u7801\u7565\u3002\u672c\u5b9e\u4f8b\u53ea\u662f\u4e3a\u4ecb\u7ecd\u6df7\u5408\u6cd5UI\u8bbe\u8ba1&#xff0c;\u4ee5\u53ca\u5e94\u7528\u7a0b\u5e8f\u5f00\u53d1\u7684\u57fa\u672c\u6d41\u7a0b\u548c\u65b9\u6cd5&#xff0c;\u7a0b\u5e8f\u529f\u80fd\u7684\u5177\u4f53\u5b9e\u73b0\u4e0d\u662f\u672c\u4f8b\u7684\u91cd\u70b9\u3002\u4f8b\u5982&#xff0c;\u201c\u6253\u5f00\u6587\u4ef6\u201d\u7684\u4ee3\u7801\u5b9e\u73b0\u6d89\u53ca\u5bf9\u8bdd\u6846\u8c03\u7528\u3001\u6587\u4ef6\u8bfb\u53d6\u3001\u6570\u636e\u6d41\u7b49\u64cd\u4f5c&#xff0c;\u8fd9\u4e9b\u4f1a\u5728\u540e\u7eed\u7ae0\u8282\u91cc\u4ecb\u7ecd\u3002<\/p>\n<h5>3&#xff0e;Action\u7684enabled\u548cchecked\u5c5e\u6027\u7684\u66f4\u65b0<\/h5>\n<p>\u4e3a\u4e86\u4f7f\u754c\u9762\u548c\u7a0b\u5e8f\u529f\u80fd\u663e\u5f97\u66f4\u52a0\u667a\u80fd\u4e00\u70b9&#xff0c;\u5e94\u8be5\u6839\u636e\u5f53\u524d\u7684\u72b6\u6001\u81ea\u52a8\u66f4\u65b0\u76f8\u5173Action\u7684checked\u548cenabled\u5c5e\u6027&#xff0c;\u8fd9\u662f\u8f6f\u4ef6\u8bbe\u8ba1\u4e2d\u5e38\u89c1\u7684\u529f\u80fd\u3002<\/p>\n<p>\u5728\u672c\u7a0b\u5e8f\u4e2d&#xff0c;\u201c\u526a\u5207\u201d\u201c\u590d\u5236\u201d\u201c\u7c98\u8d34\u201d\u7684enabled\u5c5e\u6027\u5e94\u8be5\u968f\u6587\u672c\u6846\u5185\u6587\u5b57\u9009\u62e9\u7684\u72b6\u6001\u53d8\u5316\u800c\u53d8\u5316&#xff0c;\u201c\u7c97\u4f53\u201d\u201c\u659c\u4f53\u201d\u201c\u4e0b\u5212\u7ebf\u201d\u7684checked\u5c5e\u6027\u5e94\u8be5\u968f\u7740\u5f53\u524d\u6587\u5b57\u7684\u5b57\u4f53\u72b6\u6001\u800c\u81ea\u52a8\u66f4\u65b0\u3002\u8fd9\u53ef\u4ee5\u9488\u5bf9QTextEdit\u7684\u4e00\u4e9b\u4fe1\u53f7\u7f16\u5199\u69fd\u51fd\u6570\u6765\u5b9e\u73b0\u3002<\/p>\n<p>\u5728\u4e3b\u7a97\u4f53\u4e0a\u9009\u62e9\u6587\u672c\u7f16\u8f91\u6846txtEdit&#xff0c;\u5728\u5feb\u6377\u83dc\u5355\u91cc\u8c03\u51fa\u201cGo to slot\u201d\u5bf9\u8bdd\u6846\u3002\u5bf9\u8bdd\u6846\u91cc\u5217\u51fa\u4e86QTextEdit\u7684\u6240\u6709\u4fe1\u53f7&#xff0c;\u6709\u4e24\u4e2a\u53ef\u4ee5\u5229\u7528\u7684\u4fe1\u53f7\u3002<\/p>\n<ul>\n<li>\n<p>copyAvailable(bool) \u4fe1\u53f7\u5728\u6709\u5185\u5bb9\u53ef\u4ee5\u88ab\u590d\u5236\u65f6\u53d1\u5c04&#xff0c;\u5e76\u4e14\u4f20\u9012\u4e86\u4e00\u4e2a\u5e03\u5c14\u53c2\u6570&#xff0c;\u53ef\u4ee5\u5229\u7528\u6b64\u4fe1\u53f7\u6765\u6539\u53d8actCut&#xff0c;actCopy\u7684enabled\u5c5e\u6027\u3002<\/p>\n<\/li>\n<li>\n<p>selectionChanged()\u4fe1\u53f7\u5728\u9009\u62e9\u7684\u6587\u5b57\u53d1\u751f\u53d8\u5316\u65f6\u53d1\u5c04&#xff0c;\u5229\u7528\u6b64\u4fe1\u53f7&#xff0c;\u53ef\u4ee5\u8bfb\u53d6\u5f53\u524d\u6587\u5b57\u7684\u683c\u5f0f&#xff0c;\u4ece\u800c\u66f4\u65b0\u7c97\u4f53\u3001\u659c\u4f53\u548c\u4e0b\u5212\u7ebf3\u79cd\u5b57\u4f53\u8bbe\u7f6eAction\u7684checked\u5c5e\u6027\u3002<\/p>\n<\/li>\n<\/ul>\n<p>\u4e3atxtEdit\u7ec4\u4ef6\u7684\u8fd9\u4e24\u4e2a\u4fe1\u53f7\u751f\u6210\u69fd\u51fd\u6570\u5b9a\u4e49\u548c\u51fd\u6570\u4f53\u6846\u67b6&#xff0c;\u7f16\u5199\u4ee3\u7801\u5982\u4e0b&#xff1a;<\/p>\n<p>void QWMainWind::on_txtEdit_copyAvailable(bool b)<br \/>\n{ \/\/\u66f4\u65b0cut,copy,paste\u7684enabled\u5c5e\u6027<br \/>\n   ui-&gt;actCut-&gt;setEnabled(b);<br \/>\n   ui-&gt;actCopy-&gt;setEnabled(b);<br \/>\n   ui-&gt;actPaste-&gt;setEnabled(ui-&gt;txtEdit-&gt;canPaste());<br \/>\n}<br \/>\nvoid QWMainWind::on_txtEdit_selectionChanged()<br \/>\n{\/\/\u66f4\u65b0\u7c97\u4f53\u3001\u659c\u4f53\u548c\u4e0b\u5212\u7ebf3\u79cdaction\u7684checked\u5c5e\u6027<br \/>\n   QtextCharFormat fmt;<br \/>\n   fmt&#061;ui-&gt;txtEdit-&gt;currentCharFormat();             \/\/\u83b7\u53d6\u6587\u5b57\u7684\u683c\u5f0f<br \/>\n   ui-&gt;actFontItalic-&gt;setChecked(fmt.fontItalic());  \/\/\u662f\u5426\u659c\u4f53<br \/>\n   ui-&gt;actFontBold-&gt;setChecked(fmt.font().bold());   \/\/\u662f\u5426\u7c97\u4f53<br \/>\n   ui-&gt;actFontUnder-&gt;setChecked(fmt.fontUnderline());\/\/\u662f\u5426\u6709\u4e0b\u5212\u7ebf<br \/>\n}<\/p>\n<h4>2.4.7\u3000\u624b\u5de5\u521b\u5efa\u7684\u7ec4\u4ef6\u7684\u4fe1\u53f7\u4e0e\u69fd<\/h4>\n<p>\u5728\u754c\u9762\u4e0a\u8fd8\u6709\u4e24\u4e2a\u7528\u4ee3\u7801\u521b\u5efa\u7684\u7ec4\u4ef6&#xff0c;\u7528\u4e8e\u8bbe\u7f6e\u5b57\u4f53\u5927\u5c0f\u7684spinFontSize\u548c\u7528\u4e8e\u8bbe\u7f6e\u5b57\u4f53\u7684comboFont&#xff0c;\u8fd9\u4e24\u4e2a\u7ec4\u4ef6\u7684\u4fe1\u53f7\u4e0e\u69fd\u7684\u529f\u80fd\u5b9e\u73b0\u663e\u7136\u4e0d\u80fd\u901a\u8fc7\u524d\u9762\u6240\u8ff0\u7684\u53ef\u89c6\u5316\u7684\u65b9\u6cd5\u6765\u5b9e\u73b0\u3002<\/p>\n<p>\u5bf9\u4e8e\u624b\u5de5\u521b\u5efa\u7684\u7ec4\u4ef6\u9700\u8981\u624b\u5de5\u7f16\u5199\u69fd\u51fd\u6570&#xff0c;\u5e76\u5c06\u4fe1\u53f7\u4e0e\u69fd\u5173\u8054\u8d77\u6765\u3002<\/p>\n<p>\u9996\u5148&#xff0c;\u9700\u8981\u786e\u5b9a\u5229\u7528\u7ec4\u4ef6\u7684\u54ea\u4e2a\u4fe1\u53f7\u6765\u7f16\u5199\u54cd\u5e94\u4ee3\u7801\u3002\u4f8b\u5982&#xff0c;\u7528\u4e8e\u8bbe\u7f6e\u5b57\u4f53\u5927\u5c0f\u7684SpinBox\u7ec4\u4ef6\u6700\u5408\u9002\u7684\u4fe1\u53f7\u662fvalueChanged(int)&#xff0c;\u7528\u4e8e\u5b57\u4f53\u8bbe\u7f6e\u7684FontComboBox\u7ec4\u4ef6\u9002\u5408\u4f7f\u7528currentIndexChanged(QString)\u4fe1\u53f7\u3002<\/p>\n<p>\u4e3a\u6b64\u9700\u8981\u5728QWMainWind\u7c7b\u4e2d\u5b9a\u4e49\u4e24\u4e2a\u69fd\u51fd\u6570&#xff0c;\u4ee5\u53ca\u7528\u4e8e\u8fdb\u884c\u4fe1\u53f7\u4e0e\u69fd\u5173\u8054\u7684\u51fd\u6570iniSignal Slots()&#xff0c;\u8be5\u51fd\u6570\u5728\u6784\u9020\u51fd\u6570\u91cc\u8c03\u7528\u3002\u4e0b\u9762\u662fQWMainWind\u7c7b\u4e2d\u7684\u76f8\u5173\u5b9a\u4e49&#xff08;\u7701\u7565\u4e86\u5176\u4ed6\u4ee3\u7801&#xff09;\u3002<\/p>\n<p>class QWMainWind : public QMainWindow<br \/>\n{<br \/>\nprivate:<br \/>\n   void   iniSignalSlots(); \/\/\u5173\u8054\u4fe1\u53f7\u4e0e\u69fd<br \/>\nprivate slots:<br \/>\n\/\/  \u81ea\u5b9a\u4e49\u69fd\u51fd\u6570<br \/>\n   void on_spinBoxFontSize_valueChanged(int aFontSize);\/\/\u6539\u53d8\u5b57\u4f53\u5927\u5c0f<br \/>\n   void on_comboFont_currentIndexChanged(const QString &amp;arg1);\/\/\u9009\u62e9\u5b57\u4f53<br \/>\n};<\/p>\n<p>\u4e0b\u9762\u7684\u4ee3\u7801\u662f\u4ee5\u4e0a3\u4e2a\u51fd\u6570\u7684\u5b9e\u73b0\u3002<\/p>\n<p>void QWMainWind::iniSignalSlots()<br \/>\n{ \/\/\u4fe1\u53f7\u4e0e\u69fd\u7684\u5173\u8054<br \/>\n   connect(spinFontSize,SIGNAL(valueChanged(int)),<br \/>\n         this,SLOT(on_spinBoxFontSize_valueChanged(int)));<br \/>\n   connect(comboFont,SIGNAL(currentIndexChanged(const QString &amp;)),<br \/>\n         this,SLOT(on_comboFont_currentIndexChanged(const QString &amp;)));<br \/>\n}<br \/>\nvoid QWMainWind::on_spinBoxFontSize_valueChanged(int aFontSize)<br \/>\n{\/\/\u6539\u53d8\u5b57\u4f53\u5927\u5c0f\u7684SpinBox<br \/>\n   QtextCharFormat fmt;<br \/>\n   fmt.setFontPointSize(aFontSize); \/\/\u8bbe\u7f6e\u5b57\u4f53\u5927\u5c0f<br \/>\n   ui-&gt;txtEdit-&gt;mergeCurrentCharFormat(fmt);<br \/>\n   progressBar1-&gt;setValue(aFontSize);<br \/>\n}<br \/>\nvoid QWMainWind::on_comboFont_currentIndexChanged(const QString &amp;arg1)<br \/>\n{\/\/FontCombobox\u7684\u54cd\u5e94&#xff0c;\u9009\u62e9\u5b57\u4f53\u540d\u79f0<br \/>\n   QtextCharFormat fmt;<br \/>\n   fmt.setFontFamily(arg1);  \/\/\u8bbe\u7f6e\u5b57\u4f53\u540d\u79f0<br \/>\n   ui-&gt;txtEdit-&gt;mergeCurrentCharFormat(fmt);<br \/>\n}<\/p>\n<p>\u7136\u540e\u5728QWMainWind\u7684\u6784\u9020\u51fd\u6570\u91cc\u8c03\u7528iniSignalSlots()\u51fd\u6570&#xff0c;\u5b9e\u73b0\u624b\u5de5\u521b\u5efa\u7684\u7ec4\u4ef6\u7684\u4fe1\u53f7\u4e0e\u69fd\u5173\u8054\u3002<\/p>\n<h4>2.4.8\u3000\u4e3a\u5e94\u7528\u7a0b\u5e8f\u8bbe\u7f6e\u56fe\u6807<\/h4>\n<p>\u7528Qt Creator\u521b\u5efa\u7684\u9879\u76ee\u7f16\u8bd1\u540e\u7684\u53ef\u6267\u884c\u6587\u4ef6\u5177\u6709\u9ed8\u8ba4\u7684\u56fe\u6807&#xff0c;\u5982\u679c\u9700\u8981\u4e3a\u5e94\u7528\u8bbe\u7f6e\u4e00\u4e2a\u81ea\u5df1\u7684\u56fe\u6807&#xff0c;\u5176\u64cd\u4f5c\u5f88\u7b80\u5355&#xff0c;\u53ea\u9700\u4e24\u6b65\u3002<\/p>\n<ul>\n<li>\n<p>\u5c06\u4e00\u4e2a\u56fe\u6807\u6587\u4ef6&#xff08;\u5fc5\u987b\u662f\u201c.ico\u201d\u540e\u7f00\u7684\u56fe\u6807\u6587\u4ef6&#xff09;\u590d\u5236\u5230\u9879\u76ee\u6e90\u7a0b\u5e8f\u76ee\u5f55\u4e0b\u3002<\/p>\n<\/li>\n<li>\n<p>\u5728\u9879\u76ee\u914d\u7f6e\u6587\u4ef6\u91cc\u7528RC_ICONS\u8bbe\u7f6e\u56fe\u6807\u6587\u4ef6\u540d&#xff0c;\u6dfb\u52a0\u4e0b\u9762\u4e00\u884c\u4ee3\u7801\u3002<\/p>\n<\/li>\n<\/ul>\n<p>RC_ICONS &#061; AppIcon.ico<\/p>\n<p>\u5176\u4e2d&#xff0c;\u201cAppIcon.ico\u201d\u5c31\u662f\u590d\u5236\u5230\u9879\u76ee\u6e90\u7a0b\u5e8f\u76ee\u5f55\u4e0b\u7684\u56fe\u6807\u6587\u4ef6\u540d\u79f0\u3002\u8fd9\u6837\u8bbe\u7f6e\u540e&#xff0c;\u7f16\u8bd1\u540e\u751f\u6210\u7684\u53ef\u6267\u884c\u6587\u4ef6&#xff0c;\u4ee5\u53ca\u4e3b\u7a97\u53e3\u7684\u56fe\u6807\u5c31\u6362\u6210\u8bbe\u7f6e\u7684\u56fe\u6807\u4e86\u3002<\/p>\n<p>\u81f3\u6b64&#xff0c;\u8fd9\u4e2a\u4f8b\u5b50\u7684\u5168\u90e8\u529f\u80fd\u5c31\u90fd\u5b9e\u73b0\u4e86\u3002\u5728\u8fd9\u4e2a\u5b9e\u4f8b\u91cc&#xff0c;\u6211\u4eec\u4ecb\u7ecd\u4e86Action\u7684\u521b\u5efa\u548c\u4f7f\u7528&#xff0c;\u91c7\u7528\u53ef\u89c6\u5316\u7684\u65b9\u5f0f\u8bbe\u8ba1\u4e86\u5927\u90e8\u5206\u754c\u9762\u548c\u69fd\u51fd\u6570\u3002\u53c8\u91c7\u7528\u624b\u5de5\u7f16\u5199\u4ee3\u7801\u7684\u65b9\u5f0f\u6dfb\u52a0\u4e86\u5176\u4ed6\u7684\u7ec4\u4ef6\u5230\u754c\u9762\u4e0a&#xff0c;\u5e76\u7f16\u5199\u69fd\u51fd\u6570&#xff0c;\u8fdb\u884c\u4fe1\u53f7\u4e0e\u69fd\u51fd\u6570\u7684\u5173\u8054\u3002<\/p>\n<p>\u8fd9\u79cd\u53ef\u89c6\u5316\u4e0e\u4ee3\u7801\u5316\u6df7\u5408\u7684\u8bbe\u8ba1\u65b9\u5f0f\u4e0e\u7eaf\u4ee3\u7801\u65b9\u5f0f\u76f8\u6bd4&#xff0c;\u907f\u514d\u4e86\u521b\u5efa\u754c\u9762\u65f6\u5927\u91cf\u7e41\u7410\u7684\u521b\u5efa\u4e0e\u5e03\u5c40\u5de5\u4f5c&#xff0c;\u53ef\u4ee5\u5927\u5927\u63d0\u9ad8\u8bbe\u8ba1\u6548\u7387&#xff0c;\u540c\u65f6\u53c8\u7528\u4ee3\u7801\u5b9e\u73b0\u4e86\u4e00\u4e9b\u5728UI\u8bbe\u8ba1\u5668\u91cc\u65e0\u6cd5\u53ef\u89c6\u5316\u5b8c\u6210\u7684\u4e00\u4e9b\u754c\u9762\u6548\u679c\u3002<\/p>\n<h3>2.5\u3000Qt Creator\u4f7f\u7528\u6280\u5de7<\/h3>\n<p>Qt Creator\u5728\u8bbe\u8ba1\u754c\u9762\u6216\u7f16\u8f91\u4ee3\u7801\u65f6&#xff0c;\u6709\u4e00\u4e9b\u5feb\u6377\u952e\u548c\u4f7f\u7528\u6280\u5de7&#xff0c;\u719f\u6089\u8fd9\u4e9b\u5feb\u6377\u952e\u548c\u4f7f\u7528\u6280\u5de7&#xff0c;\u53ef\u4ee5\u63d0\u9ad8\u5de5\u4f5c\u6548\u7387\u3002\u88682-6\u662fQt Creator\u7684\u4e00\u4e9b\u5feb\u6377\u64cd\u4f5c\u7684\u603b\u7ed3\u3002<\/p>\n<p>\u88682-6\u3000\u6e90\u7a0b\u5e8f\u7f16\u8f91\u5668\u7684\u5feb\u6377\u64cd\u4f5c<\/p>\n<table>\n<tr>\u529f\u80fd\u5feb\u6377\u952e\u89e3\u91ca<\/tr>\n<tbody>\n<tr>\n<td>Switch Header\/Source<\/td>\n<td>F4<\/td>\n<td>\u5728\u540c\u540d\u7684\u5934\u6587\u4ef6\u548c\u6e90\u7a0b\u5e8f\u6587\u4ef6\u4e4b\u95f4\u5207\u6362<\/td>\n<\/tr>\n<tr>\n<td>Follow Symbol Under Cursor<\/td>\n<td>F2<\/td>\n<td>\u8ddf\u8e2a\u5149\u6807\u4e0b\u7684\u7b26\u53f7&#xff0c;\u82e5\u662f\u53d8\u91cf&#xff0c;\u53ef\u8ddf\u8e2a\u5230\u53d8\u91cf\u58f0\u660e\u7684\u5730\u65b9&#xff1b;\u82e5\u662f\u51fd\u6570\u4f53\u6216\u51fd\u6570\u58f0\u660e&#xff0c;\u53ef\u5728\u4e24\u8005\u4e4b\u95f4\u5207\u6362<\/td>\n<\/tr>\n<tr>\n<td>Switch Between Function Declaration and Definition<\/td>\n<td>Shift&#043;F2<\/td>\n<td>\u5728\u51fd\u6570\u7684\u58f0\u660e&#xff08;\u51fd\u6570\u539f\u578b&#xff09;\u548c\u5b9a\u4e49&#xff08;\u51fd\u6570\u5b9e\u73b0&#xff09;\u4e4b\u95f4\u5207\u6362<\/td>\n<\/tr>\n<tr>\n<td>Refactor\\\\Rename Symbol Under Cursor<\/td>\n<td>Ctrl&#043;Shift&#043;R<\/td>\n<td>\u5bf9\u5149\u6807\u5904\u7684\u7b26\u53f7\u66f4\u6539\u540d\u79f0&#xff0c;\u8fd9\u5c06\u66ff\u6362\u5230\u6240\u6709\u7528\u5230\u8fd9\u4e2a\u7b26\u53f7\u7684\u5730\u65b9<\/td>\n<\/tr>\n<tr>\n<td>Refactor\\\\Add Definition in .cpp<\/td>\n<td><\/td>\n<td>\u4e3a\u51fd\u6570\u539f\u578b\u5728cpp\u6587\u4ef6\u91cc\u751f\u6210\u51fd\u6570\u4f53<\/td>\n<\/tr>\n<tr>\n<td>Auto-indent Selection<\/td>\n<td>Ctrl&#043;I<\/td>\n<td>\u4e3a\u9009\u62e9\u7684\u6587\u5b57\u81ea\u52a8\u8fdb\u884c\u7f29\u8fdb<\/td>\n<\/tr>\n<tr>\n<td>Toggle Comment Selection<\/td>\n<td>Ctrl&#043;\/<\/td>\n<td>\u4e3a\u9009\u62e9\u7684\u6587\u5b57\u8fdb\u884c\u6ce8\u91ca\u7b26\u53f7\u7684\u5207\u6362&#xff0c;\u5373\u53ef\u4ee5\u6ce8\u91ca\u6240\u9009\u4ee3\u7801&#xff0c;\u6216\u53d6\u6d88\u6ce8\u91ca<\/td>\n<\/tr>\n<tr>\n<td>Context Help<\/td>\n<td>F1<\/td>\n<td>\u4e3a\u5149\u6807\u6240\u5728\u7684\u7b26\u53f7\u663e\u793a\u5e2e\u52a9\u6587\u4ef6\u7684\u5185\u5bb9<\/td>\n<\/tr>\n<tr>\n<td>Save All<\/td>\n<td>Ctrl&#043;Shift&#043;S<\/td>\n<td>\u6587\u4ef6\u5168\u90e8\u4fdd\u5b58<\/td>\n<\/tr>\n<tr>\n<td>Find\/Replace<\/td>\n<td>Ctrl&#043;F<\/td>\n<td>\u8c03\u51fa\u67e5\u627e\/\u66ff\u6362\u5bf9\u8bdd\u6846<\/td>\n<\/tr>\n<tr>\n<td>Find Next<\/td>\n<td>F3<\/td>\n<td>\u67e5\u627e\u4e0b\u4e00\u4e2a<\/td>\n<\/tr>\n<tr>\n<td>Build<\/td>\n<td>Ctrl&#043;B<\/td>\n<td>\u7f16\u8bd1\u5f53\u524d\u9879\u76ee<\/td>\n<\/tr>\n<tr>\n<td>Start Debugging<\/td>\n<td>F5<\/td>\n<td>\u5f00\u59cb\u8c03\u8bd5<\/td>\n<\/tr>\n<tr>\n<td>Step Over<\/td>\n<td>F10<\/td>\n<td>\u8c03\u8bd5\u72b6\u6001\u4e0b\u5355\u6b65\u7565\u8fc7&#xff0c;\u5373\u6267\u884c\u5f53\u524d\u884c\u7a0b\u5e8f\u8bed\u53e5<\/td>\n<\/tr>\n<tr>\n<td>Step Into<\/td>\n<td>F11<\/td>\n<td>\u8c03\u8bd5\u72b6\u6001\u4e0b\u8ddf\u8e2a\u8fdb\u5165&#xff0c;\u5373\u5982\u679c\u5f53\u524d\u884c\u91cc\u6709\u51fd\u6570&#xff0c;\u5c31\u8ddf\u8e2a\u8fdb\u5165\u51fd\u6570\u4f53<\/td>\n<\/tr>\n<tr>\n<td>Toggle Breakpoint<\/td>\n<td>F9<\/td>\n<td>\u8bbe\u7f6e\u6216\u53d6\u6d88\u5f53\u524d\u884c\u7684\u65ad\u70b9\u8bbe\u7f6e<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u53e6\u5916&#xff0c;\u5728\u4f7f\u7528Qt\u65f6&#xff0c;\u8981\u5584\u4e8e\u4f7f\u7528Qt\u81ea\u5e26\u7684\u5e2e\u52a9\u6587\u4ef6&#xff0c;\u5bf9\u4e8e\u4e00\u4e2a\u7f16\u7a0b\u8bed\u8a00\u6216\u7c7b\u5e93\u6765\u8bf4&#xff0c;\u5176\u81ea\u5e26\u7684\u5e2e\u52a9\u6587\u4ef6\u662f\u6700\u5168\u9762\u6700\u6743\u5a01\u7684\u8d44\u6599\u3002\u5f53\u5149\u6807\u505c\u7559\u5728\u4e00\u4e2a\u7c7b\u540d\u6216\u51fd\u6570\u4e0a\u65f6&#xff0c;\u6309F1\u53ef\u4ee5\u8c03\u51fa\u5176\u5e2e\u52a9\u6587\u4ef6\u7684\u5185\u5bb9\u3002<\/p>\n<p>\u5728Qt Creator\u4e3b\u7a97\u53e3\u5de6\u4fa7\u7684\u4e3b\u5de5\u5177\u680f\u4e0a\u6709\u201cHelp\u201d\u6309\u94ae&#xff0c;\u5355\u51fb\u53ef\u4ee5\u6253\u5f00Qt\u7684\u5e2e\u52a9\u6587\u4ef6\u7cfb\u7edf&#xff08;\u5982\u539f\u4e66\u7684\u56fe2-22\u6240\u793a&#xff09;&#xff0c;\u4e5f\u53ef\u4ee5\u4f7f\u7528\u201c\u5f00\u59cb\u201d\u83dc\u5355Qt\u7a0b\u5e8f\u7ec4\u91cc\u7684Assistant\u5355\u72ec\u6253\u5f00\u5e2e\u52a9\u7cfb\u7edf\u3002<\/p>\n<p>\u5728\u5e2e\u52a9\u6587\u4ef6\u663e\u793a\u754c\u9762\u4e0a&#xff0c;\u5de6\u4e0a\u65b9\u5de5\u5177\u680f\u4e2d\u6709\u4e2a\u4e0b\u62c9\u5217\u8868\u6846&#xff0c;\u53ef\u4ee5\u9009\u62e9Bookmarks\u3001Contents\u3001Index\u548cSearch 4\u79cd\u6a21\u5f0f\u3002<\/p>\n<ul>\n<li>\n<p>Bookmarks\u6a21\u5f0f\u4e0b&#xff0c;\u5de6\u8fb9\u6846\u91cc\u663e\u793a\u5df2\u5b58\u50a8\u7684Bookmarks&#xff08;\u4e66\u7b7e&#xff09;&#xff0c;\u4efb\u4f55\u5e2e\u52a9\u9875\u9762\u4e0b&#xff0c;\u70b9\u51fb\u7a97\u53e3\u4e0a\u65b9\u5de5\u5177\u680f\u4e0a\u7684\u201cAdd Bookmark\u201d\u53ef\u4ee5\u6dfb\u52a0\u4e66\u7b7e\u3002<\/p>\n<\/li>\n<li>\n<p>Contents\u6a21\u5f0f\u4e0b&#xff0c;\u5de6\u8fb9\u6846\u91cc\u4ee5\u76ee\u5f55\u6811\u5f62\u5f0f\u663e\u793aQt\u7684\u6240\u6709\u6a21\u5757&#xff08;\u5982\u56fe2-22\u6240\u793a&#xff09;&#xff0c;\u53ef\u4ee5\u5206\u7c7b\u6d4f\u89c8\u60f3\u770b\u7684\u5185\u5bb9\u3002<\/p>\n<\/li>\n<li>\n<p>Index\u6a21\u5f0f\u4e0b&#xff0c;\u53ef\u4ee5\u8f93\u5165\u67e5\u627e\u5185\u5bb9&#xff0c;\u5de6\u8fb9\u6846\u91cc\u4f1a\u5217\u51fa\u4e0e\u8f93\u5165\u5185\u5bb9\u524d\u5339\u914d\u7684\u5e2e\u52a9\u4e3b\u9898\u5217\u8868\u3002<\/p>\n<\/li>\n<li>\n<p>Search\u6a21\u5f0f\u4e0b&#xff0c;\u53ef\u4ee5\u8f93\u5165\u5173\u952e\u5b57\u8fdb\u884c\u641c\u7d22\u3002<\/p>\n<\/li>\n<\/ul>\n<p>\u5728Qt\u5e2e\u52a9\u7cfb\u7edf\u91cc\u53ef\u4ee5\u641c\u7d22\u67e5\u770b\u6bcf\u4e2a\u7c7b\u7684\u8be6\u7ec6\u8d44\u6599&#xff0c;\u5982QTextEdit&#xff0c;\u53ef\u4ee5\u770b\u5230\u8fd9\u4e2a\u7c7b\u7684\u8be6\u7ec6\u8d44\u6599&#xff0c;\u5305\u62ec\u5728\u8fd9\u4e2a\u7c7b\u5b9a\u4e49\u7684\u516c\u5171\u7c7b\u578b\u3001\u5c5e\u6027\u3001\u516c\u5171\u51fd\u6570\u3001\u4fe1\u53f7\u3001\u516c\u5171\u69fd\u7b49\u3002<\/p>\n<p>\u53e6\u5916&#xff0c;\u82e5\u8981\u67e5\u770b\u7c7b\u7684\u7ee7\u627f\u5173\u7cfb&#xff0c;\u53ef\u4ee5\u8bbf\u95eeQt\u5b98\u7f51\u7684\u201cInheritance Hierarchy\u201d\u9875\u9762\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u7b2c2\u7ae0\u3000GUI\u5e94\u7528\u7a0b\u5e8f\u8bbe\u8ba1\u57fa\u7840<br \/>\n\u4e0a\u4e00\u7ae0\u901a\u8fc7\u4e00\u4e2a\u201cHello World\u201d\u5b9e\u4f8b&#xff0c;\u6f14\u793a\u4e86\u5728Qt Creator\u91cc\u521b\u5efa\u5e94\u7528\u7a0b\u5e8f\u3001\u8bbe\u8ba1\u7a97\u4f53\u754c\u9762\u3001\u7f16\u8bd1\u548c\u8fd0\u884c\u7a0b\u5e8f\u7684\u57fa\u672c\u8fc7\u7a0b\u3002\u672c\u7ae0\u5c06\u7ee7\u7eed\u6df1\u5165\u5730\u4ecb\u7ecdQt Creator\u8bbe\u8ba1GUI\u5e94\u7528\u7a0b\u5e8f\u7684\u57fa\u672c\u65b9\u6cd5&#xff0c;\u5305\u62ecQt\u521b\u5efa\u7684\u5e94\u7528\u7a0b\u5e8f\u9879\u76ee\u7684\u57fa\u672c\u7ec4\u7ec7\u7ed3\u6784&#xff0c;\u53ef\u89c6\u5316\u8bbe\u8ba1\u7684UI\u754c\u9762\u6587\u4ef6\u7684\u539f\u7406\u548c\u8fd0\u884c\u673a\u5236&#xff0c;\u4fe1\u53f7\u4e0e\u69fd\u7684\u4f7f\u7528\u65b9\u6cd5&#xff0c;\u7a97\u4f53\u53ef\u89c6\u5316\u8bbe\u8ba1\u7684\u5e95\u5c42\u539f\u7406&#xff0c;\u5e94\u7528\u7a0b\u5e8f\u7684\u7a97\u4f53\u3001\u7ec4\u4ef6\u5e03\u5c40\u3001\u83dc\u5355\u3001\u5de5<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[10580,218,305],"topic":[],"class_list":["post-106319","post","type-post","status-publish","format-standard","hentry","category-server","tag-qt5","tag-qt","tag-305"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u3010Qt\u3011\u300aQt 5.9 C++\u5f00\u53d1\u6307\u5357\u300b\u7b14\u8bb0-Chapter2-GUI\u5e94\u7528\u7a0b\u5e8f\u8bbe\u8ba1\u57fa\u7840 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.wsisp.com\/helps\/106319.html\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u3010Qt\u3011\u300aQt 5.9 C++\u5f00\u53d1\u6307\u5357\u300b\u7b14\u8bb0-Chapter2-GUI\u5e94\u7528\u7a0b\u5e8f\u8bbe\u8ba1\u57fa\u7840 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"og:description\" content=\"\u7b2c2\u7ae0\u3000GUI\u5e94\u7528\u7a0b\u5e8f\u8bbe\u8ba1\u57fa\u7840 \u4e0a\u4e00\u7ae0\u901a\u8fc7\u4e00\u4e2a\u201cHello World\u201d\u5b9e\u4f8b&#xff0c;\u6f14\u793a\u4e86\u5728Qt Creator\u91cc\u521b\u5efa\u5e94\u7528\u7a0b\u5e8f\u3001\u8bbe\u8ba1\u7a97\u4f53\u754c\u9762\u3001\u7f16\u8bd1\u548c\u8fd0\u884c\u7a0b\u5e8f\u7684\u57fa\u672c\u8fc7\u7a0b\u3002\u672c\u7ae0\u5c06\u7ee7\u7eed\u6df1\u5165\u5730\u4ecb\u7ecdQt Creator\u8bbe\u8ba1GUI\u5e94\u7528\u7a0b\u5e8f\u7684\u57fa\u672c\u65b9\u6cd5&#xff0c;\u5305\u62ecQt\u521b\u5efa\u7684\u5e94\u7528\u7a0b\u5e8f\u9879\u76ee\u7684\u57fa\u672c\u7ec4\u7ec7\u7ed3\u6784&#xff0c;\u53ef\u89c6\u5316\u8bbe\u8ba1\u7684UI\u754c\u9762\u6587\u4ef6\u7684\u539f\u7406\u548c\u8fd0\u884c\u673a\u5236&#xff0c;\u4fe1\u53f7\u4e0e\u69fd\u7684\u4f7f\u7528\u65b9\u6cd5&#xff0c;\u7a97\u4f53\u53ef\u89c6\u5316\u8bbe\u8ba1\u7684\u5e95\u5c42\u539f\u7406&#xff0c;\u5e94\u7528\u7a0b\u5e8f\u7684\u7a97\u4f53\u3001\u7ec4\u4ef6\u5e03\u5c40\u3001\u83dc\u5355\u3001\u5de5\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.wsisp.com\/helps\/106319.html\" \/>\n<meta property=\"og:site_name\" content=\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-16T22:56:29+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"25 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/106319.html\",\"url\":\"https:\/\/www.wsisp.com\/helps\/106319.html\",\"name\":\"\u3010Qt\u3011\u300aQt 5.9 C++\u5f00\u53d1\u6307\u5357\u300b\u7b14\u8bb0-Chapter2-GUI\u5e94\u7528\u7a0b\u5e8f\u8bbe\u8ba1\u57fa\u7840 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"isPartOf\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\"},\"datePublished\":\"2026-09-16T22:56:29+00:00\",\"dateModified\":\"2026-09-16T22:56:29+00:00\",\"author\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/106319.html#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.wsisp.com\/helps\/106319.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/106319.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.wsisp.com\/helps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u3010Qt\u3011\u300aQt 5.9 C++\u5f00\u53d1\u6307\u5357\u300b\u7b14\u8bb0-Chapter2-GUI\u5e94\u7528\u7a0b\u5e8f\u8bbe\u8ba1\u57fa\u7840\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\",\"url\":\"https:\/\/www.wsisp.com\/helps\/\",\"name\":\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"description\":\"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"contentUrl\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"caption\":\"admin\"},\"sameAs\":[\"http:\/\/wp.wsisp.com\"],\"url\":\"https:\/\/www.wsisp.com\/helps\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u3010Qt\u3011\u300aQt 5.9 C++\u5f00\u53d1\u6307\u5357\u300b\u7b14\u8bb0-Chapter2-GUI\u5e94\u7528\u7a0b\u5e8f\u8bbe\u8ba1\u57fa\u7840 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.wsisp.com\/helps\/106319.html","og_locale":"zh_CN","og_type":"article","og_title":"\u3010Qt\u3011\u300aQt 5.9 C++\u5f00\u53d1\u6307\u5357\u300b\u7b14\u8bb0-Chapter2-GUI\u5e94\u7528\u7a0b\u5e8f\u8bbe\u8ba1\u57fa\u7840 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","og_description":"\u7b2c2\u7ae0\u3000GUI\u5e94\u7528\u7a0b\u5e8f\u8bbe\u8ba1\u57fa\u7840 \u4e0a\u4e00\u7ae0\u901a\u8fc7\u4e00\u4e2a\u201cHello World\u201d\u5b9e\u4f8b&#xff0c;\u6f14\u793a\u4e86\u5728Qt Creator\u91cc\u521b\u5efa\u5e94\u7528\u7a0b\u5e8f\u3001\u8bbe\u8ba1\u7a97\u4f53\u754c\u9762\u3001\u7f16\u8bd1\u548c\u8fd0\u884c\u7a0b\u5e8f\u7684\u57fa\u672c\u8fc7\u7a0b\u3002\u672c\u7ae0\u5c06\u7ee7\u7eed\u6df1\u5165\u5730\u4ecb\u7ecdQt Creator\u8bbe\u8ba1GUI\u5e94\u7528\u7a0b\u5e8f\u7684\u57fa\u672c\u65b9\u6cd5&#xff0c;\u5305\u62ecQt\u521b\u5efa\u7684\u5e94\u7528\u7a0b\u5e8f\u9879\u76ee\u7684\u57fa\u672c\u7ec4\u7ec7\u7ed3\u6784&#xff0c;\u53ef\u89c6\u5316\u8bbe\u8ba1\u7684UI\u754c\u9762\u6587\u4ef6\u7684\u539f\u7406\u548c\u8fd0\u884c\u673a\u5236&#xff0c;\u4fe1\u53f7\u4e0e\u69fd\u7684\u4f7f\u7528\u65b9\u6cd5&#xff0c;\u7a97\u4f53\u53ef\u89c6\u5316\u8bbe\u8ba1\u7684\u5e95\u5c42\u539f\u7406&#xff0c;\u5e94\u7528\u7a0b\u5e8f\u7684\u7a97\u4f53\u3001\u7ec4\u4ef6\u5e03\u5c40\u3001\u83dc\u5355\u3001\u5de5","og_url":"https:\/\/www.wsisp.com\/helps\/106319.html","og_site_name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","article_published_time":"2026-09-16T22:56:29+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"admin","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"25 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.wsisp.com\/helps\/106319.html","url":"https:\/\/www.wsisp.com\/helps\/106319.html","name":"\u3010Qt\u3011\u300aQt 5.9 C++\u5f00\u53d1\u6307\u5357\u300b\u7b14\u8bb0-Chapter2-GUI\u5e94\u7528\u7a0b\u5e8f\u8bbe\u8ba1\u57fa\u7840 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","isPartOf":{"@id":"https:\/\/www.wsisp.com\/helps\/#website"},"datePublished":"2026-09-16T22:56:29+00:00","dateModified":"2026-09-16T22:56:29+00:00","author":{"@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41"},"breadcrumb":{"@id":"https:\/\/www.wsisp.com\/helps\/106319.html#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.wsisp.com\/helps\/106319.html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.wsisp.com\/helps\/106319.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.wsisp.com\/helps"},{"@type":"ListItem","position":2,"name":"\u3010Qt\u3011\u300aQt 5.9 C++\u5f00\u53d1\u6307\u5357\u300b\u7b14\u8bb0-Chapter2-GUI\u5e94\u7528\u7a0b\u5e8f\u8bbe\u8ba1\u57fa\u7840"}]},{"@type":"WebSite","@id":"https:\/\/www.wsisp.com\/helps\/#website","url":"https:\/\/www.wsisp.com\/helps\/","name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","description":"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41","name":"admin","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/","url":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","contentUrl":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","caption":"admin"},"sameAs":["http:\/\/wp.wsisp.com"],"url":"https:\/\/www.wsisp.com\/helps\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/106319","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/comments?post=106319"}],"version-history":[{"count":0,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/106319\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media?parent=106319"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/categories?post=106319"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/tags?post=106319"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/topic?post=106319"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}