{"id":3109,"date":"2025-05-30T23:30:25","date_gmt":"2025-05-30T15:30:25","guid":{"rendered":"https:\/\/yowlab.idv.tw\/wordpress\/?p=3109"},"modified":"2025-06-05T00:23:15","modified_gmt":"2025-06-04T16:23:15","slug":"%e7%b7%a8%e8%ad%af-qt-%e7%b4%80%e9%8c%84","status":"publish","type":"post","link":"https:\/\/yowlab.idv.tw\/wordpress\/?p=3109","title":{"rendered":"\u7de8\u8b6f QT(\u4e0d\u542b Qt6Webengine)\u7d00\u9304"},"content":{"rendered":"<p>\u6709\u6642\u6703\u56e0\u70ba\u57f7\u884c\u67d0\u4e9b\u7a0b\u5f0f\u7684\u9700\u6c42\uff0c\u9700\u8981\u6700\u65b0\u7248\u672c\u7684 QT\uff0c\u800c\u7cfb\u7d71\u672c\u8eab\u7684\u5957\u4ef6\u5eab\u4e26\u5c1a\u672a\u66f4\u65b0\u5230\u6240\u9700\u7684\u65b0\u7248\u672c\uff0c\u6b64\u6642\u5c31\u9700\u8981\u53bb\u6293\u6700\u65b0\u7248\u672c\u7684 QT \u56de\u4f86\uff0c\u81ea\u884c\u7de8\u8b6f\u4f86\u7528\u3002<\/p>\n<style type=\"text\/css\">\n    li.present01 {line-height:1.5em; background-color:#F5E5C9; padding:5px; border-radius:10px; font-weight:bold; margin:5px;}\n    li.present02 {line-height:1.5em; background-color:#D1EC87; padding:5px; border-radius:10px; font-weight:bold; margin:5px;}\n    li.present03 {line-height:1.5em; background-color:#b3dffa; padding:5px; border-radius:10px; font-weight:bold; margin:5px;}\n    li.present04 {line-height:1.5em; background-color:#FDF6FF; padding:10px; border-radius:10px; font-weight:bold; margin:5px;}\n    ol.lower-alpha {list-style-type:lower-alpha;}\n    ol.lower-roman {list-style-type:lower-roman;}\n    ul.none {list-style-type:none;line-height:1.5em; padding:10px;}\n    ul.note {line-height:1.5em; padding:10px;}\n    .highlight01 {font-weight:bold; line-height:1.5em; background-color:#e7f49c; padding:0px 2px; border:1px; border-radius:10px;}\n    .highlight02 {font-weight:bold; line-height:1.5em; background-color:#F2F26B; padding:1px 1px; border:1px;}\n    .highlight03 {font-weight:bold; line-height:1.5em; background-color:#F9BF72; padding:3px 10px; border:2px; border-radius:10px;}\n    .box01 {margin: 5px; border:1px #19130B solid; border-radius:5px; padding:10px;}\n    .box02 {margin: 5px; font-weight:bold; line-height:1.5em; padding:10px; border:1px #19130B solid; border-radius:5px;}\n    h3 {border:2px #000 solid; border-width:0px 0px 1px 0px; padding-width:0px 0px 3px 0px;}\n    h4 {border:2px #000 solid; border-width:0px 0px 1px 0px; padding-width:3px 0px 3px 0px;margin: 3px 0px 10px 0px ;font-weight:bold; line-height:1.5em;  }\n    h5 {background-color:#eff0f1; padding:10px; font-weight:bold; line-height:2em; border:1px #000 solid; border-width:1px 0px 1px 0px; margin: 5px 0px 20px 0px;}<\/p>\n<p>    pre {margin: 5px; border:0px #19130B solid; border-radius:5px; padding:10px;line-height:2em;}\n<\/style>\n<p><span class=\"highlight01\">\u76ee\u524d QT \u6700\u65b0\u7248\u672c\u5df2\u5230 6.10<\/span>\uff0c\u4ee5\u4e0b\u70ba\u4f9d\u64da QT \u5b98\u65b9\u7db2\u7ad9\u63d0\u4f9b\u7684\u8aaa\u660e\uff08\u7db2\u5740\uff1a<a href=\"https:\/\/wiki.qt.io\/Building_Qt_6_from_Git\" target=\"_blank\">https:\/\/wiki.qt.io\/Building_Qt_6_from_Git<\/a>\uff09\u505a\u53c3\u8003\uff0c\u4f86\u9032\u884c\u6293\u53d6\u539f\u59cb\u78bc\u8207\u7de8\u8b6f\u3002<\/p>\n<ol>\n<li class=\"present01\">\u5b89\u88dd\u7de8\u8b6f\u6642\u6703\u7528\u5230\u7684\u5de5\u5177\u7a0b\u5f0f\uff08\u5957\u4ef6\uff09\uff1a<\/li>\n<pre>\r\nsudo apt install -y \\\r\n  build-essential \\\r\n  ninja-build \\\r\n  python3 \\\r\n  perl \\\r\n  git \\\r\n  libgl1-mesa-dev \\\r\n  libxkbcommon-dev \\\r\n  libxcb1-dev \\\r\n  libxcb-render0-dev \\\r\n  libxcb-shape0-dev \\\r\n  libxcb-xfixes0-dev \\\r\n  libxcb-glx0-dev \\\r\n  libxcb-keysyms1-dev \\\r\n  libxcb-image0-dev \\\r\n  libxcb-icccm4-dev \\\r\n  libxcb-sync-dev \\\r\n  libxcb-xinerama0-dev \\\r\n  libxcb-randr0-dev \\\r\n  libxcb-util-dev \\\r\n  libx11-dev \\\r\n  libx11-xcb-dev \\\r\n  libxext-dev \\\r\n  libxi-dev \\\r\n  libxrender-dev \\\r\n  libxrandr-dev \\\r\n  libfontconfig1-dev \\\r\n  libfreetype6-dev \\\r\n  libglib2.0-dev \\\r\n  libdbus-1-dev \\\r\n  zlib1g-dev \\\r\n  libpng-dev \\\r\n  libjpeg-dev \\\r\n  <del datetime=\"2025-06-04T15:20:46+00:00\">cmake<\/del> \r\n  ## cmake \u70ba\u5fc5\u8981\u5957\u4ef6\uff0c\r\n  ## \u4f46\u56e0 cmake \u6211\u81ea\u5df1\u6709\u7de8\u8b6f\u6700\u65b0\u7248\u672c\uff0c\u6240\u4ee5\u5c31\u4e0d\u5b89\u88dd\uff01\r\n\r\n   curl -fsSL https:\/\/deb.nodesource.com\/setup_18.x | sudo -E bash -\r\n   sudo apt-get install -y nodejs\r\n\r\n<\/pre>\n<li class=\"present01\">\u4e0b\u8f09 Qt6 \u539f\u59cb\u78bc<\/li>\n<pre>\r\ngit clone https:\/\/code.qt.io\/qt\/qt5.git qt6\r\ncd qt6\r\n\r\ngit switch 6.10\r\n##\u5207\u63db\u5230 6.10 \u7248\u672c\r\n##\u5f9e\u4ee5\u4e0b\u9023\u7d50\u77e5\u9053\u76ee\u524d\u5404\u7a2e\u7248\u672c\r\n## <a href=\"https:\/\/code.qt.io\/cgit\/qt\/qt5.git\/refs\/heads\" target=\"_blank\">https:\/\/code.qt.io\/cgit\/qt\/qt5.git\/refs\/heads<\/a>\r\n\r\n\r\nperl init-repository --module-subset=default,-qtwebengine\r\n## --module-subset=default,-qtwebengine \u662f\u95dc\u9375\uff0c\u6703\u6392\u9664\u5373\u4e0d\u5b89\u88dd Qt WebEngine \u6b64\u5b50\u6a21\u7d44\u3002\r\n## \u82e5\u50c5\u57f7\u884c init-repository \u5247\u6703\u81ea\u52d5\u6293\u53d6\u6240\u6709\u5b50\u6a21\u7d44\uff08\u9019\u9700\u8981\u4e00\u4e9b\u6642\u9593\u8207\u7a7a\u9593\uff09\uff0c\u5982\u679c\u9700\u8981 Qt WebEngine \u6a21\u7d44\uff0c\u8acb\u79fb\u9664 -qtwebengine \u9078\u9805\u3002\r\n\r\n<\/pre>\n<li class=\"present01\">\u7de8\u8b6f\u8207\u5b89\u88dd<\/li>\n<pre>\r\ncd qt6\r\nmkdir qt6-build; cd qt6-build\/\r\n\r\nexport CMAKE_GENERATOR=Ninja\r\n\r\n..\/configure -prefix \/usr\/local\/qt-6.10 \\\r\n  -top-level \\\r\n  -opensource -confirm-license \\\r\n  -release \\\r\n  -nomake tests -nomake examples \\\r\n  -skip qtwebengine \\\r\n  -no-warnings-are-errors \\\r\n  -platform linux-g++ \\\r\n  -qt-harfbuzz \\\r\n  -qt-pcre \\\r\n  -qt-zlib \\\r\n  -qt-libpng \\\r\n  -qt-libjpeg \\\r\n  -no-openssl\r\n\r\n##\u958b\u59cb\u7de8\u8b6f\uff0c\u7528 ninja \u4f86\u53d6\u4ee3  cmake --build . --parallel ##\r\nninja\r\n\r\n##\u5b89\u88dd\r\nsudo ninja install . \r\n\r\n<\/pre>\n<li class=\"present01\">\u8a2d\u5b9a\u74b0\u5883\u8b8a\u6578<\/li>\n<p>\u5c07\u4ee5\u4e0b\u65b0\u589e\u5230 ~\/.bashrc \u6216 ~\/.zshrc\uff1a<\/p>\n<pre>\r\nexport QT_HOME=\/usr\/local\/qt6\r\nexport PATH=$QT_HOME\/bin:$PATH\r\nexport LD_LIBRARY_PATH=$QT_HOME\/lib:$LD_LIBRARY_PATH\r\nexport QT_PLUGIN_PATH=$QT_HOME\/plugins\r\nexport QML2_IMPORT_PATH=$QT_HOME\/qml\r\n<\/pre>\n<\/ol>\n<h3>\u53c3\u8003\u8cc7\u6e90<\/h3>\n<ol>\n<li>Building Qt 6 from Git: <a href=\"https:\/\/wiki.qt.io\/Building_Qt_6_from_Git\" target=\"_blank\">https:\/\/wiki.qt.io\/Building_Qt_6_from_Git<\/a><\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>\u6709\u6642\u6703\u56e0\u70ba\u57f7\u884c\u67d0\u4e9b\u7a0b\u5f0f\u7684\u9700\u6c42\uff0c\u9700\u8981\u6700\u65b0\u7248\u672c\u7684 QT\uff0c\u800c\u7cfb\u7d71\u672c\u8eab\u7684\u5957\u4ef6\u5eab\u4e26\u5c1a\u672a\u66f4\u65b0\u5230 <a class=\"more-link\" href=\"https:\/\/yowlab.idv.tw\/wordpress\/?p=3109\">Continue reading <span class=\"screen-reader-text\">  \u7de8\u8b6f QT(\u4e0d\u542b Qt6Webengine)\u7d00\u9304<\/span><span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-3109","post","type-post","status-publish","format-standard","hentry","category-3"],"_links":{"self":[{"href":"https:\/\/yowlab.idv.tw\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/3109","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yowlab.idv.tw\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yowlab.idv.tw\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yowlab.idv.tw\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/yowlab.idv.tw\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3109"}],"version-history":[{"count":30,"href":"https:\/\/yowlab.idv.tw\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/3109\/revisions"}],"predecessor-version":[{"id":3143,"href":"https:\/\/yowlab.idv.tw\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/3109\/revisions\/3143"}],"wp:attachment":[{"href":"https:\/\/yowlab.idv.tw\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3109"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yowlab.idv.tw\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3109"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yowlab.idv.tw\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3109"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}