{ "version": "https://jsonfeed.org/version/1", "title": "Qt", "description": "\u8de8\u5e73\u53f0\u7684 GUI \u5f00\u53d1\u6846\u67b6", "home_page_url": "go/qt", "feed_url": "feed/qt.json", "icon": "https://cdn.v2ex.com/navatar/19b6/5066/863_large.png?m=1646756512", "favicon": "https://cdn.v2ex.com/navatar/19b6/5066/863_normal.png?m=1646756512", "items": [ { "author": { "url": "member/minecraftyusei", "name": "minecraftyusei", "avatar": "https://cdn.v2ex.com/gravatar/91f8b5a72ed00244bd06e10e633e1e76?s=73&d=retro" }, "url": "t/1142643", "date_modified": "2025-07-03T09:16:42+00:00", "content_html": "

\u65b0\u624b\u4e0a\u8def\uff0c\u6574\u4e86\u4e00\u4e2a\u975e\u5e38\u5355\u7eaf\u7684\u5c0f\u5de5\u7a0b\uff08\u62ff ai \u5199\u7684\uff09\uff0c\u7136\u540e\u5728 ui \u8bbe\u8ba1\u65f6\u53f3\u952e Pushbutton \u8f6c\u5230\u69fd\u65f6\u88ab\u8fd9\u4e2a\u95ee\u9898\u5e72\u788e\u4e86\uff0c\u4e00\u5934\u96fe\u6c34\uff0c\u751a\u81f3\u4e0d\u77e5\u9053\u600e\u4e48\u6392\u9664\u9519\u8bef\u3002

\n

\u7f16\u8bd1\u65e5\u5fd7\u5982\u4e0b\uff1a\n00:46:54: \u4e3a\u9879\u76ee untitled1 \u6267\u884c\u6b65\u9aa4 ...\n00:46:54: \u6b63\u5728\u542f\u52a8 \"G:\\QtCommunity\\Tools\\CMake_64\\bin\\cmake.exe\" --build G:/Qtfile/QtProgram/untitled1/build/Qt_6_9_1_Clang_arm64_v8a-Debug --target all

\n

[0/2 0.0/sec] Re-checking globbed directories...\n[1/9 0.4/sec] Automatic MOC and UIC for target untitled1\n[2/9 0.7/sec] Running AUTOMOC file extraction for target untitled1\n[3/9 0.9/sec] Running moc --collect-json for target untitled1\n[4/9 0.6/sec] Building CXX object CMakeFiles/untitled1.dir/untitled1_autogen/mocs_compilation.cpp.o\n[5/9 0.8/sec] Building CXX object CMakeFiles/untitled1.dir/main.cpp.o\n[6/9 0.9/sec] Building CXX object CMakeFiles/untitled1.dir/mainwindow.cpp.o\n[7/9 0.9/sec] Linking CXX shared module libuntitled1_arm64-v8a.so\n[8/9 1.0/sec] Copying untitled1 binary to apk folder\n00:47:03: The command \"G:\\QtCommunity\\Tools\\CMake_64\\bin\\cmake.exe --build G:/Qtfile/QtProgram/untitled1/build/Qt_6_9_1_Clang_arm64_v8a-Debug --target all\" finished successfully.\n00:47:03: \u6b63\u5728\u542f\u52a8 \"G:\\QtCommunity\\6.9.1\\mingw_64\\bin\\androiddeployqt.exe\" --input G:/Qtfile/QtProgram/untitled1/build/Qt_6_9_1_Clang_arm64_v8a-Debug/android-untitled1-deployment-settings.json --output G:/Qtfile/QtProgram/untitled1/build/Qt_6_9_1_Clang_arm64_v8a-Debug/android-build-untitled1 --android-platform android-35 --jdk G:/jdk17 --gradle

\n

Generating Android Package\nInput file: G:/Qtfile/QtProgram/untitled1/build/Qt_6_9_1_Clang_arm64_v8a-Debug/android-untitled1-deployment-settings.json\nOutput directory: G:/Qtfile/QtProgram/untitled1/build/Qt_6_9_1_Clang_arm64_v8a-Debug/android-build-untitled1/\nApplication binary: untitled1\nAndroid build platform: android-35\nInstall to device: No\nSkipping createRCC\nStarting a Gradle Daemon, 1 incompatible and 9 stopped Daemons could not be reused, use --status for details

\n
\n

Task :preBuild UP-TO-DATE\nTask :preDebugBuild UP-TO-DATE\nTask :mergeDebugNativeDebugMetadata NO-SOURCE\nTask :javaPreCompileDebug\nTask :generateDebugResValues\nTask :checkDebugAarMetadata\nTask :mapDebugSourceSetPaths\nTask :generateDebugResources\nTask :mergeDebugResources\nTask :packageDebugResources\nTask :createDebugCompatibleScreenManifests\nTask :extractDeepLinksDebug\nTask :parseDebugLocalResources

\n
\n
\n

Task :processDebugMainManifest\npackage=\"org.qtproject.example.untitled1\" found in source AndroidManifest.xml: G:\\Qtfile\\QtProgram\\untitled1\\build\\Qt_6_9_1_Clang_arm64_v8a-Debug\\android-build-untitled1\\AndroidManifest.xml.\nSetting the namespace via the package attribute in the source AndroidManifest.xml is no longer supported, and the value is ignored.\nRecommendation: remove package=\"org.qtproject.example.untitled1\" from the source AndroidManifest.xml: G:\\Qtfile\\QtProgram\\untitled1\\build\\Qt_6_9_1_Clang_arm64_v8a-Debug\\android-build-untitled1\\AndroidManifest.xml.

\n
\n
\n

Task :processDebugManifest\nTask :mergeDebugShaders\nTask :compileDebugShaders NO-SOURCE\nTask :generateDebugAssets UP-TO-DATE\nTask :mergeDebugAssets\nTask :compressDebugAssets\nTask :processDebugJavaRes NO-SOURCE\nTask :checkDebugDuplicateClasses\nTask :mergeDebugJniLibFolders\nTask :mergeLibDexDebug\nTask :validateSigningDebug\nTask :writeDebugAppMetadata\nTask :writeDebugSigningConfigVersions\nTask :processDebugManifestForPackage\nTask :mergeDebugNativeLibs\nTask :mergeDebugJavaResource\nTask :processDebugResources\nTask :compileDebugJavaWithJavac\nTask :dexBuilderDebug\nTask :desugarDebugFileDependencies\nTask :mergeProjectDexDebug\nTask :stripDebugDebugSymbols\nTask :mergeExtDexDebug\nTask :packageDebug\nTask :createDebugApkListingFileRedirect\nTask :assembleDebug

\n
\n

[Incubating] Problems report is available at: file:///G:/Qtfile/QtProgram/untitled1/build/Qt_6_9_1_Clang_arm64_v8a-Debug/android-build-untitled1/build/reports/problems/problems-report.html

\n

Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.

\n

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

\n

For more on this, please refer to https://docs.gradle.org/8.12/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.

\n

BUILD SUCCESSFUL in 23s\n33 actionable tasks: 33 executed\nAndroid package built successfully in 28.935 ms.\n-- File: G:/Qtfile/QtProgram/untitled1/build/Qt_6_9_1_Clang_arm64_v8a-Debug/android-build-untitled1//build/outputs/apk/debug/android-build-untitled1-debug.apk\n00:47:32: The command \"G:\\QtCommunity\\6.9.1\\mingw_64\\bin\\androiddeployqt.exe --input G:/Qtfile/QtProgram/untitled1/build/Qt_6_9_1_Clang_arm64_v8a-Debug/android-untitled1-deployment-settings.json --output G:/Qtfile/QtProgram/untitled1/build/Qt_6_9_1_Clang_arm64_v8a-Debug/android-build-untitled1 --android-platform android-35 --jdk G:/jdk17 --gradle --gdbserver\" finished successfully.\n00:47:32: Elapsed time: 00:38.

\n

mainwindow.h \u5982\u4e0b\uff1a\n#ifndef MAINWINDOW_H\n#define MAINWINDOW_H

\n

#include <QMainWindow>\n#include <QLabel>

\n

class MainWindow : public QMainWindow\n{\nQ_OBJECT

\n

public:\nMainWindow(QWidget *parent = nullptr);\n~MainWindow();

\n

protected:\nvoid mousePressEvent(QMouseEvent *event) override;

\n

private:\nQLabel *label;\n};

\n

#endif // MAINWINDOW_H

\n

mainwindow.cpp \u5982\u4e0b\uff1a\n#include \"mainwindow.h\"\n#include <QMouseEvent>\n#include <QFont>\n#include <QDebug>

\n

MainWindow::MainWindow(QWidget *parent)\n: QMainWindow(parent)\n{\n// \u8bbe\u7f6e\u7a97\u53e3\u5927\u5c0f\nresize(400, 300);

\n
// \u521b\u5efa label \u4f46\u5148\u4e0d\u663e\u793a\u6587\u5b57\nlabel = new QLabel(this);\nlabel->setText(\"\");\nlabel->setAlignment(Qt::AlignCenter);\nlabel->setGeometry(rect()); // \u5360\u6ee1\u6574\u4e2a\u7a97\u53e3\nlabel->setFont(QFont(\"Arial\", 24));\n
\n

}

\n

MainWindow::~MainWindow()\n{\n}

\n

void MainWindow::mousePressEvent(QMouseEvent *event)\n{\nQ_UNUSED(event);\nlabel->setText(\"Hello World\");\nqDebug() << \"\u5c4f\u5e55\u88ab\u70b9\u51fb\uff0c\u663e\u793a Hello World\";\n}

\n", "date_published": "2025-07-02T16:54:06+00:00", "title": "qt \u65b0\u624b\u6c42\u52a9\uff1a No documents matching 'ui_mainwindow.h' could be found", "id": "t/1142643" }, { "author": { "url": "member/tiandishi", "name": "tiandishi", "avatar": "https://cdn.v2ex.com/gravatar/3c6c7c394051f59039404bca2f5fc424?s=73&d=retro" }, "url": "t/1126860", "date_modified": "2025-04-21T10:56:41+00:00", "content_html": "

\u8bf7\u6559\u51e0\u4e2a qt6 \uff0cmacos \u6253\u5305\u9047\u5230\u4f9d\u8d56\u95ee\u9898\u3002

\n

\u6211\u505a\u4e86\u4e2a\u97f3\u4e50\u64ad\u653e\u5668\uff0c\u5f15\u7528\u7684\u5916\u90e8\u5e93\u53ea\u6709 libmpv \uff0c\u8fd8\u5f15\u7528\u4e86 qt \u7684 sql \uff0c\u7528\u4e8e\u5904\u7406 sqlite \u6570\u636e\u5e93\u3002\u95ee\u9898\u53ef\u80fd\u4e3b\u8981\u51fa\u73b0\u5728\u8fd9\u4e24\u4e2a\u3002\n\u7f16\u8bd1\u8c03\u8bd5\u8fd0\u884c\u90fd\u6ca1\u5565\u95ee\u9898\uff0c\u5f00\u53d1\u5b8c\u6210\u60f3\u8981\u6253\u5305\u53d1\u5e03\uff0cmacdeployqt6 \u6253\u5305\u51fa\u6765\u7684\u5374\u65e0\u6cd5\u8fd0\u884c\u3002\n\u4ed4\u7ec6\u5206\u6790\u8ba4\u4e3a\u6709\u4e9b\u4f9d\u8d56\u6709\u95ee\u9898\uff0c\u6bd4\u5982\u7f16\u8bd1\u7684\u65f6\u5019 ok \uff0c\u7406\u8bba\u4e0a\u6240\u6709\u4f9d\u8d56\u5728\u672c\u673a\u90fd\u5df2\u7ecf\u9f50\u5168\uff0cmacdeployqt6 \u6253\u5305\u5374\u544a\u77e5\u4f1a\u5f15\u7528 Postgres.app \u4e0b\u9762\u7684\u4e00\u4e2a\u5e93\uff0c\u800c\u8fd9\u4e2a app \u6211\u4e4b\u524d\u6839\u672c\u6ca1\u6709\u5b89\u88c5\u3002\u7c7b\u4f3c\u7684\u8fd8\u6709 libjxl_cms.0.11.dylib libjxl.0.11.dylib \u7b49\u56fe\u7247\u76f8\u5173\u7684\u5e93\uff0c\u9700\u8981\u989d\u5916\u4e0b\u8f7d\u624d\u80fd\u6253\u5305\uff0c\u7f16\u8bd1\u8fd0\u884c\u5374\u4e0d\u9700\u8981\u3002

\n

\u6362\u601d\u8def\u91c7\u7528 xcode \u6765\u6253\u5305\uff0c\u5148 qmake make \u751f\u6210 xcode \u9879\u76ee\uff0c\u5bfc\u5165\u540e\u53ef\u4ee5\u7f16\u8bd1\u8fd0\u884c\uff0carchive \u6253\u5305\u9010\u4e2a\u6d4b\u8bd5\u4f9d\u8d56\u7684\u5e93\uff0c\u53d1\u73b0\u4e0d\u96c6\u6210\u90e8\u5206\u4f9d\u8d56\u7684 Framework \u53ef\u8fd0\u884c\uff0c\u5168\u90e8\u96c6\u6210\u5374\u4e0d\u884c\u3002

\n

\u7b2c\u4e8c\u4e2a\u95ee\u9898\u662f\uff0c\u89e3\u51b3\u5b8c\u4e0a\u8ff0\u4f9d\u8d56\u6587\u4ef6\u540e\uff0c\u6253\u5305\u7684\u7a0b\u5e8f.app \u8fd8\u662f\u65e0\u6cd5\u76f4\u63a5\u53cc\u51fb\u6253\u5f00\uff0c\u770b\u6c47\u62a5\u65e5\u5fd7\u51fa\u73b0 signed \u3001ns \u7b49\u6a21\u7cca\u95ee\u9898\u3002\u66f4\u5947\u8469\u7684\u662f\uff0c\u6709\u65f6\u5019\u91c7\u7528 lldb \u5bf9\u6253\u5305\u7684\u7a0b\u5e8f\u8fdb\u884c\u8c03\u8bd5\u53ef\u4ee5\u8fd0\u884c\uff0c\u76f4\u63a5\u6253\u5f00 app \u5374\u6253\u4e0d\u5f00\u3002\nTermination Reason: Namespace SIGNAL\nlldb \u62a5\u9519 \uff1aqianqianplayer[73941:807292] This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem

\n

\u6c42\u6709\u7ecf\u9a8c\u7684\u4eba\u6307\u70b9\u8ff7\u6d25\uff0c\u5982\u679c\u60a8\u4e0d\u77e5\u9053\u6211\u5728\u8bf4\u5565\uff0c\u53ef\u80fd\u60a8\u96be\u4ee5\u89e3\u51b3\u6211\u7684\u95ee\u9898\uff0c\u5c31\u968f\u4fbf\u770b\u770b\u3002

\n

\u5982\u6709\u4efb\u4f55\u601d\u8def\uff0c\u4e0d\u80dc\u611f\u6fc0\uff0c\u56f0\u6270\u597d\u51e0\u5929\u4e86\u3002

\n", "date_published": "2025-04-20T15:08:49+00:00", "title": "\u8bf7\u6559\u51e0\u4e2a qt6\uff0c macos \u6253\u5305\u9047\u5230\u4f9d\u8d56\u95ee\u9898\u3002", "id": "t/1126860" }, { "author": { "url": "member/ChainLock", "name": "ChainLock", "avatar": "https://cdn.v2ex.com/avatar/c97f/842f/426828_large.png?m=1757037316" }, "url": "t/1124697", "title": "\u65b0\u5efa\u4e00\u4e2a qt \u9879\u76ee\uff0c\u8fd0\u884c\u65f6\uff0c\u5e95\u4e0b\u5e94\u7528\u7a0b\u5e8f\u8f93\u51fa 1127, FromFilemap", "id": "t/1124697", "date_published": "2025-04-11T03:24:03+00:00", "content_html": "

https://imgur.com/a/fYDtDbS

\n

https://imgur.com/bE5INyR

\n

\u4e0d\u77e5\u9053\u8fd9\u4e2a 1127, FromFilemap \uff0c\u662f\u4ece\u54ea\u91cc\u8f93\u51fa\u7684

\n" }, { "author": { "url": "member/Bssn", "name": "Bssn", "avatar": "https://cdn.v2ex.com/gravatar/86f8ac86127dfea9a65db17666113a2c?s=73&d=retro" }, "url": "t/1121030", "date_modified": "2025-03-26T08:52:09+00:00", "content_html": "

\u7a0b\u5e8f\u8fd0\u884c\u5728 macos, \u5982\u4e0b\u56fe\u6240\u793a\uff0c\u5f53\u53f3\u51fb\u6258\u76d8\u56fe\u6807\u65f6\u4f1a\u53d1\u751f\u5f02\u5e38(\u56fe\u4e2d\u5de6\u4e0a\u89d2)\uff0c\u8fd9\u662f\u4e3a\u4ec0\u4e48\u5462\uff1f\n\"ChatClient-2025-03-25-18\"

\n

\u4ee3\u7801\u5982\u4e0b\uff0c\u8fd8\u60f3\u8bf7\u6559\u4e00\u70b9\uff0c\u4e3a\u4ec0\u4e48\u5355\u51fb\u7684\u65f6\u5019\u4e5f\u4f1a\u51fa\u73b0\u83dc\u5355\u5462\uff1f

\n
void MainWindow::SltTrayClicked(QSystemTrayIcon::ActivationReason reason)\n{\n switch (reason) {\n case QSystemTrayIcon::Trigger: // \u5355\u51fb\n if (!this->isVisible())\n {\n this->show();\n }\n break;\n case QSystemTrayIcon::Context: // \u53f3\u51fb\n if (!m_trayMenu->isVisible())\n {\n m_trayMenu->show();\n }\n break;\n default:\n break;\n }\n}\n\n
\n", "date_published": "2025-03-25T10:59:50+00:00", "title": "Qt5 \u6258\u76d8\u83dc\u5355\u53f3\u51fb\u65f6\u7684\u5f02\u5e38", "id": "t/1121030" }, { "author": { "url": "member/wnpllrzodiac", "name": "wnpllrzodiac", "avatar": "https://cdn.v2ex.com/gravatar/84e41a23f65477d2c3c398dc13c8e053?s=73&d=retro" }, "url": "t/1118027", "date_modified": "2025-03-13T23:20:08+00:00", "content_html": "\u5199\u4e86\u4e2a\u5e94\u7528\uff0c\u57fa\u672c\u90fd\u662f\u505a\u7684\u5b9e\u9645\u529f\u80fd\u3002

\u5ba2\u6237\u9700\u8981\u7f8e\u5316\u4e0b\uff0c\u80fd\u50cf\u4e2a\u6b63\u771f\u7684\u53d1\u5e03\u8f6f\u4ef6\u3002

\u6709\u4ec0\u4e48\u5de5\u4f5c\u6d41\u53ef\u4ee5\u7528\uff1f\u6ca1\u6709\u7f8e\u5de5\uff0c\u4ea7\u54c1\u8bbe\u8ba1\u7684\u60c5\u51b5\u4e0b\u3002\u6bd4\u5982\u8f93\u5165 qt ui \u6587\u4ef6\u6216\u8005\u754c\u9762\u622a\u56fe\uff0c\u80fd\u7ed9\u4e2a\u4f18\u5316\u65b9\u6848\u3002\u4ee3\u7801\u6216\u8005\u914d\u8272\uff0c\u6309\u94ae\u6837\u5f0f\uff0c\u56fe\u6807\uff0c\u80cc\u666f\u4ec0\u4e48\u7684", "date_published": "2025-03-13T01:49:41+00:00", "title": "\u6709\u6ca1\u6709\u4ec0\u4e48\u5de5\u5177\u53ef\u4ee5\u7f8e\u5316 qt \u754c\u9762\u7684\uff1f", "id": "t/1118027" }, { "author": { "url": "member/gegeligegeligo", "name": "gegeligegeligo", "avatar": "https://cdn.v2ex.com/gravatar/d4b259140c65f851416d2f7097c24665?s=73&d=retro" }, "url": "t/1071988", "date_modified": "2024-09-12T00:44:27+00:00", "content_html": "

\u8981\u53ef\u4ee5\u96c6\u6210\u8fdb Designer \u91cc\u9762\u7528\u7684\u3002\u611f\u89c9 Qt \u81ea\u5e26\u7684\u63a7\u4ef6\u5e93\u6709\u4e9b\u5e73\u6de1\u4e86
\n
\n\u521a\u521a\u641c\u4e86\u4e00\u4f1a\u513f\uff0c\u627e\u5230\u4e86\u4e24\u4e2a\u770b\u8d77\u6765\u8fd8\u4e0d\u9519\u7684\uff0c\u63a7\u4ef6\u6570\u91cf\u4e5f\u633a\u591a\uff0c\u90fd\u662f\u4e00\u4e24\u767e\u4e2a\uff0c\u53ea\u4e0d\u8fc7\u90fd\u662f\u95ed\u6e90\u6536\u8d39\u7684\uff0c\u8fd9\u79cd\u4e0d\u592a\u60f3\u7528\uff0c\u56e0\u4e3a\u5047\u5982\u9047\u5230\u4ec0\u4e48 bug \u62a5\u9519\u7684\u8bdd\uff0c\u90fd\u6ca1\u529e\u6cd5\u770b\u6e90\u7801\u627e\u539f\u56e0\u3002
\n
\n\u6c42\u63a8\u8350\uff0c\u8c22\u8c22\u3002

\n", "date_published": "2024-09-11T06:28:56+00:00", "title": "Qt \u6709\u4ec0\u4e48\u4e0d\u9519\u7684\u7b2c\u4e09\u65b9\u63a7\u4ef6\u5e93\u5417\uff1f", "id": "t/1071988" }, { "author": { "url": "member/nullptr2023", "name": "nullptr2023", "avatar": "https://cdn.v2ex.com/gravatar/b834a44ffbeb671fddc6fd09da799faa?s=73&d=retro" }, "url": "t/1068355", "date_modified": "2024-08-28T04:58:09+00:00", "content_html": "

\u5982\u4e0b\u56fe\uff0c\u5728 qt creator \u521b\u5efa qt quick application \u9879\u76ee\u8fc7\u7a0b\u4e2d\uff0c\u52fe\u9009\u201ccreates\u201d\u9009\u9879\uff0c\u5373\u4f7f\u6700\u540e\u70b9\u5b8c\u6210\uff0c\u4e5f\u65e0\u6cd5\u521b\u5efa\u9879\u76ee\uff1b\u4e0d\u52fe\u9009\u5219\u53ef\u4ee5\u3002\u8bf7\u95ee\u4e3a\u4ec0\u4e48\uff1f\n\"\u56fe

\n", "date_published": "2024-08-28T02:19:02+00:00", "title": "\u5bfb\u6c42\u5e2e\u52a9\uff01\u5728 qt creator \u91cc\u9762\u521b\u5efa quick \u9879\u76ee\u5931\u8d25\uff0c\u627e\u4e0d\u5230\u539f\u56e0\u3002", "id": "t/1068355" }, { "author": { "url": "member/h3xz", "name": "h3xz", "avatar": "https://cdn.v2ex.com/gravatar/70015e22ccd0412870f9313737efcd56?s=73&d=retro" }, "url": "t/1067855", "title": "\u5173\u4e8e QT \u4e2d\u901a\u8fc7\u4fe1\u53f7\u4e0e\u69fd\u7684\u65b9\u5f0f\u542f\u52a8\u5b50\u7ebf\u7a0b\u7684\u95ee\u9898\u3002", "id": "t/1067855", "date_published": "2024-08-26T06:36:16+00:00", "content_html": "

\u6211\u81ea\u5b9a\u4e49\u4e86\u4e00\u4e2a\u591a\u7ebf\u7a0b\u7c7bTimerThread:

\n
 TimerThread* t_thread = new TimerThread();\n QThread* thread = new QThread();\n t_thread->moveToThread(thread);\n
\n

\u6211\u60f3\u901a\u8fc7\u754c\u9762\u4e0a\u7684\u4e00\u4e2a\u6309\u94aeui->startThread\u6765\u542f\u52a8\u5b50\u7ebf\u7a0b\uff1a

\n
 connect(ui->startThread, &QPushButton::clicked, thread, &QThread::start);\n
\n

\u4f46\u662f\u7a0b\u5e8f\u62a5\u9519\uff1aerror: static assertion failed: Signal and slot arguments are not compatible.\n\u4f46\u662f\u6211\u4f7f\u7528\u4e86\u53e6\u4e00\u79cd\u65b9\u6cd5\u8fde\u63a5\u4fe1\u53f7\u4e0e\u69fd\uff0c\u7a0b\u5e8f\u53c8\u80fd\u6b63\u5e38\u8fd0\u884c\uff1a

\n
 connect(ui->startThread, &QPushButton::clicked, thread, [&](){\n\tthread->start();\n });\n
\n

\u62a5\u9519\u7684\u610f\u601d\u662f\u53d1\u9001\u7684\u4fe1\u53f7\u53c2\u6570\u4e0e\u69fd\u51fd\u6570\u7684\u53c2\u6570\u6ca1\u6709\u5bf9\u5e94\u3002\u4f46\u662f\u5f53\u6211\u81ea\u5df1\u5b9a\u4e49\u4e00\u4e2a\u69fd\u51fd\u6570void testFun(int); \uff0c\u5e76\u4e14\uff0c\u70b9\u51fb\u6309\u94ae\u65f6\u53d1\u51fa\u7684\u4fe1\u53f7\u6240\u643a\u5e26\u7684\u53c2\u6570\u540c\u6837\u4e0e\u6211\u81ea\u5b9a\u4e49\u7684\u69fd\u51fd\u6570\u7684\u53c2\u6570\u4e0d\u80fd\u5bf9\u5e94\uff0c\u4f46\u662f\u7a0b\u5e8f\u5374\u80fd\u6b63\u786e\u8fd0\u884c\u3002

\n
 connect(ui->startThread, &QPushButton::clicked, this, &MainWindow::testFun);\n
\n

\u6211\u975e\u5e38\u56f0\u60d1\uff0c\u5927\u4f6c\u80fd\u5426\u4e3a\u6211\u6307\u70b9\u8ff7\u6d25\uff0c\u975e\u5e38\u611f\u8c22\ud83d\ude4f\ud83d\ude4f\ud83d\ude4f

\n" }, { "author": { "url": "member/senlinmuvs", "name": "senlinmuvs", "avatar": "https://cdn.v2ex.com/avatar/1c8f/6ad2/48573_large.png?m=1745462569" }, "url": "t/1067486", "title": "\u5bfb\u627e\u4e00\u8d77\u5f00\u53d1\u8fd9\u4e2a\u5f00\u6e90\u9879\u76ee\u7684\u4eba\uff0c qt c++\u7684\uff0c\u4fe1\u606f\u6536\u85cf\u3001Kindle/\u5fae\u4fe1\u8bfb\u4e66/\u8c46\u74e3\u9605\u8bfb\u7b14\u8bb0\u7ba1\u7406", "id": "t/1067486", "date_published": "2024-08-24T07:52:32+00:00", "content_html": "

\u505a\u8fd9\u4e2a\u5f00\u6e90\u9879\u76ee\u611f\u89c9\u76ee\u524d\u4e00\u4e2a\u4eba\u66f4\u65b0\u5f97\u592a\u6162\u4e86\uff0c\u60f3\u8d77\u6765\u7a81\u7136\u6709\u7a7a\u624d\u66f4\u65b0\u4e00\u4e0b\uff0c\u5c31\u60f3\u627e\u4e9b\u611f\u5174\u8da3\u7684\u4eba\u4e00\u8d77\u5f00\u53d1\u3002\u611f\u89c9\u5982\u679c\u505a\u5f97\u6bd4\u8f83\u5b8c\u5584\u4e86\u4f1a\u6bd4\u5176\u5b83\u540c\u7c7b\u8f6f\u4ef6\u597d\u7528\u3002\u6211\u81ea\u5df1\u4e00\u76f4\u5728\u7528\u8fd9\u4e2a\u5c31\u611f\u89c9\u6bd4\u5176\u5b83\u7684\u597d\u7528\u591a\u4e86\u3002

\n

\u5730\u5740\u5728\u8fd9\uff1a\nhttps://github.com/senlinmuvs/xxmoon

\n" }, { "author": { "url": "member/52txr", "name": "52txr", "avatar": "https://cdn.v2ex.com/avatar/d7fe/00b2/608205_large.png?m=1752934744" }, "url": "t/1066101", "date_modified": "2024-08-19T13:40:08+00:00", "content_html": "

\u611f\u89c9\u8bbe\u8ba1\u7684\u597d\u770b\u5176\u5b9e\u662f\u4e2a\u827a\u672f\u6d3b\uff0c\u7406\u5de5\u76f4\u7537\u7684\u5ba1\u7f8e\u771f\u7684\u5c34\u5c2c\uff01\u6211\u60f3\u95ee\u95ee\u8fd9\u4e2a\u4e1c\u897f\u662f\u53ef\u4ee5\u5b66\u4e60\u7684\u5417

\n", "date_published": "2024-08-19T05:53:22+00:00", "title": "\u4f7f\u7528 Qt \u505a\u7684\u8f6f\u4ef6\u754c\u9762\u592a\u4e11\u600e\u4e48\u529e\uff1f\u6709\u6ca1\u6709\u4ec0\u4e48\u7f8e\u5de5\u63d2\u4ef6\u6216\u8005\u5165\u95e8\u6559\u7a0b", "id": "t/1066101" }, { "author": { "url": "member/feixianghao", "name": "feixianghao", "avatar": "https://cdn.v2ex.com/gravatar/e7969506ae2be82485de893feec479e1?s=73&d=retro" }, "url": "t/1063036", "title": "\u6709\u54ea\u4f4d\u5927\u4f6c\u5bf9\u4fee\u6539 3DSlicer \u6216\u8005\u5f00\u53d1\u63d2\u4ef6\u6709\u7ecf\u9a8c\uff1f", "id": "t/1063036", "date_published": "2024-08-06T13:03:46+00:00", "content_html": "

3DSlicer \u662f\u57fa\u4e8e QT \u5f00\u53d1\uff0c\u60f3\u5b66\u4e60\u4e00\u4e0b\u5982\u4f55\u7ed9\u539f\u7248\u8f6f\u4ef6\u6362\u76ae\u3002

\n" }, { "author": { "url": "member/feixianghao", "name": "feixianghao", "avatar": "https://cdn.v2ex.com/gravatar/e7969506ae2be82485de893feec479e1?s=73&d=retro" }, "url": "t/1063032", "date_modified": "2024-08-06T12:42:23+00:00", "content_html": "

\u6700\u8fd1\u8981\u5728 window11 \u7535\u8111\u4e0a\u88c5 QT \uff0c\u4f46\u662f\u4ece\u5b98\u7f51\u4e0b\u8f7d\u7684\u5728\u7ebf\u5b89\u88c5\u5b89\u88c5\u5305\uff0c\u88c5\u4e0a\u4e4b\u540e\u4f3c\u4e4e\u6ca1\u6709\u5b89\u88c5\u4e0a QT \u3002\u8981\u7f16\u8bd1\u7684\u7a0b\u5e8f\u4e00\u76f4\u63d0\u793a\u6839\u636e Cmake \u4e00\u76f4\u63d0\u793a\u627e\u4e0d\u5230 QT \u3002

\n", "date_published": "2024-08-06T12:30:22+00:00", "title": "\u5982\u4f55\u6b63\u786e\u5b89\u88c5 QT\uff1f", "id": "t/1063032" }, { "author": { "url": "member/brokensword2018", "name": "brokensword2018", "avatar": "https://cdn.v2ex.com/gravatar/af5e47a8c55fa769320c3be5ecaf158c?s=73&d=retro" }, "url": "t/1059484", "date_modified": "2024-08-01T12:06:41+00:00", "content_html": "

\u4f7f\u7528 QIcon(\"test.svg\")\u663e\u793a\u56fe\u6807\u3002 \u5728\u81ea\u5df1\u673a\u5668\u4e0a\u662f\u53ef\u4ee5\u6b63\u5e38\u663e\u793a\u7684\u3002\u6253\u5305\u540e\u518d\u5176\u4ed6\u673a\u5668\u4e0a\u65e0\u6cd5\u6b63\u5e38\u663e\u793a\u3002\u5df2\u8fdb\u884c\u7684\u64cd\u4f5c\u3002\u5e94\u8be5\u662f\u6709 svg \u76f8\u5173\u52a8\u6001\u5e93\u6ca1\u6709\u6b63\u786e\u52a0\u8f7d\uff0c\u4f46\u662f\u4e0d\u6e05\u695a\u5177\u4f53\u539f\u56e0\u3002

\n\n", "date_published": "2024-07-23T08:44:07+00:00", "title": "\u8bf7\u6559 qt svg \u6253\u5305\u540e\u65e0\u6cd5\u663e\u793a\u95ee\u9898\u3002", "id": "t/1059484" }, { "author": { "url": "member/h3xz", "name": "h3xz", "avatar": "https://cdn.v2ex.com/gravatar/70015e22ccd0412870f9313737efcd56?s=73&d=retro" }, "url": "t/1055959", "date_modified": "2024-07-10T12:26:51+00:00", "content_html": "

\u5047\u8bbeform_B\u548cform_C\u5728form_A\u4e0b\u521b\u5efa\uff0c\u7136\u540eform_D\u5728form_C\u4e0b\u521b\u5efa\u3002form_B\u5982\u4f55\u4eceform_D\u83b7\u5f97\u4fe1\u53f7\uff1f

\n

\u6211\u7684\u60f3\u6cd5\u662f\u5148\u5c06\u4fe1\u53f7\u4eceform_D\u4f20\u9012\u5230form_C\uff0c\u7136\u540e\u518d\u4f20\u9012\u5230form_A\uff0c\u6700\u540eform_A\u5c06\u4fe1\u53f7\u4f20\u9012\u5230form_B\u3002\u7136\u800c\uff0c\u8fd9\u6837\u4f1a\u6709\u5f88\u591a\u4e0e\u5404\u79cd\u4fe1\u53f7\u76f8\u5173\u7684\u8fde\u63a5\uff0c\u5e76\u4e14\u5f88\u96be\u7ba1\u7406\u3002\n\u771f\u8bda\u5730\u8bf7\u6559\u4e0b\u662f\u5426\u6709\u5176\u4ed6\u65b9\u6cd5\u53ef\u4ee5\u7ba1\u7406\u8fd9\u4e48\u591a\u4fe1\u53f7\u3002\u771f\u8bda\u5730\u8be2\u95ee\u662f\u5426\u6709\u66f4\u65b9\u4fbf\u7684\u65b9\u6cd5\u6765\u7ba1\u7406\u4fe1\u53f7\uff0c\u5c06\u4fe1\u53f7\u4eceform_D\u4f20\u8f93\u5230form_B\u3002

\n", "date_published": "2024-07-09T07:02:19+00:00", "title": "\u5982\u4f55\u5728 QT \u4e2d\u7684\u591a\u4e2a\u7ea7\u522b\u7684\u7a97\u53e3\u4e4b\u95f4\u4f20\u8f93\u6d88\u606f", "id": "t/1055959" }, { "author": { "url": "member/h3xz", "name": "h3xz", "avatar": "https://cdn.v2ex.com/gravatar/70015e22ccd0412870f9313737efcd56?s=73&d=retro" }, "url": "t/1055575", "title": "\u5173\u4e8e QT\uff08C++\uff09\u901a\u8fc7\u7ee7\u627f QObject \u7684\u65b9\u6cd5\u5b9e\u73b0\u591a\u7ebf\u7a0b\uff0c\u5b50\u7ebf\u7a0b\u8c03\u7528\u5931\u6548\u3002", "id": "t/1055575", "date_published": "2024-07-08T02:59:11+00:00", "content_html": "
class MyThread : public QObject{\n\tQ_OBJECT\n\tvoid work(){\t \n \tqDebug()<<\"MyThread::work() thread id: \"<<QThread::currentThreadId()<<\"\\n\";\t\n }\n}\nMainWindow::MainWindow(QWidget *parent)\n : QMainWindow(parent)\n , ui(new Ui::MainWindow)\n{\n qDebug()<<\"main thread id: \"<<QThread::currentThreadId()<<\"\\n\";\n QThread* subThread = new QThread;\n MyThread* my_thread = new MyThread;\n my_thread->moveToThread(thread1);\n my_thread->start();\t\n \n qDebug()<<\"00000000\";\n my_thread->work();\n \n connect(ui->pushButton, &QPushButton::clicked, my_thread, &MyThread::work);\n connect(ui->pushButton, &QPushButton::clicked, this, [=]{\n qDebug()<<\"11111111\";\n \tmy_thread->work();\n });\n connect(ui->pushButton, &QPushButton::clicked, my_thread, [=]{\n\t\tqDebug()<<\"22222222\";\n my_thread->work();\n });\n}\n
\n

\u7a0b\u5e8f\u6267\u884c\u7ed3\u679c\uff1a

\n
main thread id: 0x1a70 \n\n00000000\nMyThread::work1() thread id: 0x1a70 \n\n11111111\nMyThread::work1() thread id: 0x1a70 \n\nMyThread::work1() thread id: 0x698 \n\n22222222\nMyThread::work1() thread id: 0x698 \n
\n

\u8bf7\u95ee\u4e3a\u4f55\u5728\u4e3b\u7a97\u53e3\u4e2d\u76f4\u63a5\u8c03\u7528 my_thread \u548c
\nconnect(ui->pushButton, &QPushButton::clicked, this, [=]{\nmy_thread->work();\n});\u90fd\u662f\u5728\u4e3b\u7ebf\u7a0b\u4e2d\u6267\u884c\uff0c\u800c\u5176\u4ed6\u4e24\u79cd\u8c03\u7528\u65b9\u5f0f\u5c31\u80fd\u6b63\u786e\u5728\u5b50\u7ebf\u7a0b\u4e2d\u6267\u884c\uff1f

\n" }, { "author": { "url": "member/WangLiCha", "name": "WangLiCha", "avatar": "https://cdn.v2ex.com/avatar/d786/c340/418481_large.png?m=1733245613" }, "url": "t/1055015", "date_modified": "2024-07-08T11:16:46+00:00", "content_html": "

\u6bd4\u5982\u4e00\u4e2a\u50cf\u4e0b\u9762\u8fd9\u6837\u5b9a\u4e49\u7684 QDialog \u7a97\u4f53\uff1a

\n
#ifndef PLAYDIALOG_H\n#define PLAYDIALOG_H\n\n#include <memory>\n#include <QVBoxLayout>\n#include <QDialog>\n\nclass QPushButton;\n\nclass PlayDialog : public QDialog\n{\n Q_OBJECT\npublic:\n explicit PlayDialog(QWidget* parent = nullptr);\n\nprivate:\n QVBoxLayout* m_layout;\n\n QPushButton* m_button1;\n std::shared_ptr<QPushButton> m_button2;\n QSharedPointer<QPushButton> m_button3;\n};\n\n#endif // PLAYDIALOG_H\n\n
\n
#include \"playdialog.h\"\n\n#include <memory>\n#include <QDialog>\n#include <QLayout>\n#include <QPushButton>\n#include <QVBoxLayout>\n\nPlayDialog::PlayDialog(QWidget* parent) : QDialog(parent), m_layout(new QVBoxLayout(this))\n{\n\n m_button1 = new QPushButton(\"BUTTON1\", this);\n m_button2 = std::make_shared<QPushButton>(\"BUTTON2\", this);\n m_button3 = QSharedPointer<QPushButton>::create(\"BUTTON3\", this);\n\n m_layout->addWidget(m_button1);\n m_layout->addWidget(m_button2.get());\n m_layout->addWidget(m_button3.get());\n\n setLayout(m_layout);\n}\n\n
\n

\u5176\u4e2d\u7684 QPushButton \u90fd\u8bbe\u7f6e\u4e86 QDialog \u7a97\u4f53\u4e3a\u7236\u63a7\u4ef6\uff0cm_button2\u548cm_button3\u5206\u522b\u7528 C++\u539f\u751f\u548c Qt \u7684\u667a\u80fd\u6307\u9488\u8fdb\u884c\u4e86\u5305\u88c5\u3002\u5982\u679c\u8fd9\u4e2a\u65f6\u5019\u5173\u6389\u7236\u7a97\u4f53\uff0c\u56e0\u4e3a\u7236\u5b50\u7ea7\u5173\u7cfb\u4e09\u4e2a\u6309\u94ae\u90fd\u4f1a\u88ab\u91ca\u653e\uff0c\u4f46\u662f\u53d7\u667a\u80fd\u6307\u9488\u7ba1\u7406\u7684m_button2\u548cm_button3\u6309\u7406\u8bf4\u4e5f\u4f1a\u88ab\u91ca\u653e\uff0c\u8fd9\u79cd\u65f6\u5019\u4f1a\u5b58\u5728\u4e8c\u6b21\u5220\u9664\u98ce\u9669\u5417\uff1f\u662f\u4e0d\u662f\u5728 Qt \u4e2d\u4e0d\u5e94\u8be5\u7528\u667a\u80fd\u6307\u9488\u7ba1\u7406\u8bbe\u7f6e\u4e86\u7236\u5b50\u7ea7\u5173\u7cfb\u7684 QWidget \u63a7\u4ef6\uff1f\u8fd8\u662f\u8bf4 Qt \u5c01\u88c5\u8fc7\u7684 QSharedPointer \u53ef\u4ee5\u653e\u5fc3\u4f7f\u7528\uff1f

\n", "date_published": "2024-07-05T02:04:50+00:00", "title": "\u5728 Qt \u4e2d\u63a7\u4ef6\u540c\u65f6\u4f7f\u7528\u667a\u80fd\u6307\u9488\u548c\u7236\u5b50\u5173\u7cfb\uff0c\u4f1a\u6709\u4e8c\u6b21\u5220\u9664\u98ce\u9669\u5417\uff1f", "id": "t/1055015" }, { "author": { "url": "member/gegeligegeligo", "name": "gegeligegeligo", "avatar": "https://cdn.v2ex.com/gravatar/d4b259140c65f851416d2f7097c24665?s=73&d=retro" }, "url": "t/1053998", "date_modified": "2024-07-01T14:16:44+00:00", "content_html": "

\u6e90\u4ee3\u7801\u6587\u4ef6\u662f gbk \u7f16\u7801\u7684\uff0c\u4f7f\u7528\u8fd9\u4e2a\u65b9\u6cd5\uff1asetText(\"\u6211\u662f\u4e2d\u6587\")\uff0c\u754c\u9762\u4e0a\u4f1a\u4e71\u7801\u663e\u793a\u3002\u8be5\u600e\u4e48\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\u5462\uff1f

\n", "date_published": "2024-07-01T08:51:50+00:00", "title": "qt5 \u4e2d\u6587\u4e71\u7801\u95ee\u9898\u600e\u4e48\u89e3\u51b3\uff1f", "id": "t/1053998" }, { "author": { "url": "member/WangLiCha", "name": "WangLiCha", "avatar": "https://cdn.v2ex.com/avatar/d786/c340/418481_large.png?m=1733245613" }, "url": "t/1035339", "date_modified": "2024-04-24T10:39:06+00:00", "content_html": "

\u4e4b\u524d\u53ea\u5728 C-Free \u548c Arduino \u4e0a\u5199\u8fc7\u7b80\u5355\u7684 C++\uff0c\u73b0\u5728\u56e0\u4e3a\u6709\u8de8\u5e73\u53f0\u684c\u9762\u5f00\u53d1\u9700\u6c42\u6240\u4ee5\u8981\u8003\u5bdf\u4e00\u4e0b Qt \u3002

\n

\u672c\u8eab IDE \u7684\u8bdd Visual Studio \u56e0\u4e3a\u5199\u8fc7 C#\u719f\u6089\u4e00\u70b9\uff0c\u7136\u540e JetBrains \u5bb6\u7684 IDE \u5b8c\u5168\u6ca1\u6709\u5b9e\u9645\u4f7f\u7528\u8fc7\u3002

\n

\u60f3\u77e5\u9053\u73b0\u5728\u5199 Qt \u7684\u4e3b\u6d41 IDE \u5de5\u5177\u662f\u4ec0\u4e48\uff1f\u662f\u7528\u90a3\u4e2a\u5b98\u65b9\u7684 Qt Creator \u8fd8\u662f\u7528\u5176\u4ed6 IDE \u5de5\u5177\u5f00\u53d1\u4f53\u9a8c\u597d\u4e00\u70b9\uff1f

\n", "date_published": "2024-04-24T09:09:42+00:00", "title": "\u73b0\u5728\u5199 Qt \u7684\u4e3b\u6d41 IDE \u5de5\u5177\u662f\u4ec0\u4e48\uff1f", "id": "t/1035339" }, { "author": { "url": "member/maxssy", "name": "maxssy", "avatar": "https://cdn.v2ex.com/avatar/8a15/2128/45462_large.png?m=1687240963" }, "url": "t/1023919", "title": "\u8bf7\u95ee\u591a\u7ebf\u7a0b\u4e4b\u95f4\u662f\u5982\u4f55\u534f\u8c03\u914d\u5408\u7684?", "id": "t/1023919", "date_published": "2024-03-15T03:53:17+00:00", "content_html": "\u6bd4\u5982\u4e00\u4e2a qt \u7a0b\u5e8f\u63a5 2 \u4e2a\u4e32\u53e3\u8bbe\u5907 A \u548c B, \u4e14 A,B \u7684\u63a7\u5236\u7a0b\u5e8f\u5206\u522b\u653e\u5230\u4e86\u4e24\u4e2a\u7ebf\u7a0b\u91cc\u9632\u6b62\u963b\u585e\u754c\u9762\u7ebf\u7a0b.

\u73b0\u5728\u9700\u6c42\u662f\u6309 btn1 \u540e\u5148\u67e5\u8be2 A \u7684\u72b6\u6001, \u5982\u679c\u662f\u72b6\u6001 a1 \u5219\u8c03\u7528 B \u7684 b1 \u64cd\u4f5c\u5982\u679c\u662f a2 \u5219\u8c03\u7528 B \u7684 b2 \u64cd\u4f5c, \u8fd9\u5957\u6d41\u7a0b\u9700\u8981\u91cd\u590d\u591a\u6b21\u4e14 b1 \u548c b2 \u662f\u8017\u65f6\u5341\u51e0\u79d2\u7684\u64cd\u4f5c, \u9700\u8981\u7b49\u5230 b1 \u6216 b2 \u5b8c\u6210\u540e\u624d\u7ee7\u7eed\u4e0b\u4e00\u6b21\u5faa\u73af

\u73b0\u5728\u7684\u95ee\u9898\u662f\u4e3b\u7ebf\u7a0b\u7684\u5faa\u73af\u4e2d\u7528 QTime+QCoreApplication::processEvents \u7684\u975e\u963b\u585e\u7b49\u5f85\u65f6\u5faa\u73af\u4e0d\u4f1a\u7b49\u5f85 b1 \u6216 b2 \u8dd1\u5b8c\u76f4\u63a5\u8df3\u5230\u4e0b\u4e00\u5faa\u73af, \u53ea\u80fd\u7528 sleep \u786c\u963b\u585e
\u6709\u5565\u597d\u529e\u6cd5\u6216\u6700\u4f73\u5b9e\u8df5\u5417?" }, { "author": { "url": "member/maxssy", "name": "maxssy", "avatar": "https://cdn.v2ex.com/avatar/8a15/2128/45462_large.png?m=1687240963" }, "url": "t/1023580", "title": "QSerialPort \u5982\u4f55\u5b9e\u73b0\u540c\u4e00\u4e2a\u4e32\u53e3\u8bbe\u5907\u547d\u4ee4\u505a\u51fa\u4e0d\u540c\u64cd\u4f5c?", "id": "t/1023580", "date_published": "2024-03-14T05:32:14+00:00", "content_html": "\u4e32\u53e3\u8bbe\u5907\u7684\u67e5\u8be2\u63a5\u53e3\u4f1a\u8fd4\u56de A \u6216\u8005 B, \u4ee5\u4e0b\u6709\u4e24\u4e2a\u573a\u666f\u9700\u8981\u7528\u5230\u8fd9\u4e2a\u547d\u4ee4\u4f46\u662f\u63a5\u53d7\u5230\u8fd4\u56de\u540e\u7684\u52a8\u4f5c\u4e0d\u4e00\u6837:
\u573a\u666f 1: \u7a97\u53e3\u542f\u52a8\u540e\u81ea\u52a8\u8c03\u7528\u63a5\u53e3, \u6536\u5230 A \u6216 B \u540e\u663e\u793a\u5728\u9875\u9762\u4e0a
\u573a\u666f 2: \u9875\u9762\u4e0a\u7684\u6309\u94ae btn \u6309\u4e0b\u540e\u5148\u8c03\u7528\u67e5\u8be2\u63a5\u53e3, \u7136\u540e\u5982\u679c\u8fd4\u56de A \u5219\u6267\u884c aa \u51fd\u6570\u5982\u679c\u8fd4\u56de B \u5219\u6267\u884c bb \u51fd\u6570

\u5982\u679c\u90fd\u5199\u5728 QSerialPort::readyRead \u4fe1\u53f7\u4e0b\u5904\u7406\u5219\u6bcf\u6b21\u7a97\u53e3\u542f\u52a8\u90fd\u4f1a\u81ea\u52a8\u6267\u884c\u573a\u666f 2 \u7684\u52a8\u4f5c. \u6709\u4ec0\u4e48\u529e\u6cd5\u8ba9\u7a0b\u5e8f\u5728 btn \u6309\u4e0b\u540e\u624d\u6267\u884c\u573a\u666f 2?" }, { "author": { "url": "member/takingadetour", "name": "takingadetour", "avatar": "https://cdn.v2ex.com/gravatar/071faf74e03e7c97520ec6cffa927d5a?s=73&d=retro" }, "url": "t/1021402", "title": "qt creator \u63d2\u4ef6\u5f00\u53d1\u95ee\u9898\u8bf7\u6559", "id": "t/1021402", "date_published": "2024-03-07T04:07:16+00:00", "content_html": "

\u6211\u60f3\u5b9e\u73b0\u4e00\u4e2a qt creator \u63d2\u4ef6\uff0c\u80fd\u591f\u4ece\u8c03\u8bd5\u5668\u8bfb\u53d6\u6307\u5b9a\u7684\u53d8\u91cf(\u6bd4\u5982\u4e00\u4e2a\u5143\u7d20\u66f4\u591a\u7684 vector)\uff0c\u7136\u540e\u628a\u53d8\u91cf\u503c\u5bfc\u51fa\u5230\u6587\u672c\u6587\u4ef6\uff0c\u6216\u8005\u76f4\u63a5\u5bfc\u5165\u5230 matlab \u5b9e\u4f8b\u3002

\n

\u76ee\u524d\u6309\u7167 qt creator \u5411\u5bfc\u80fd\u591f\u7f16\u8bd1\u548c\u52a0\u8f7d\u7b80\u5355\u7684\u793a\u4f8b\u63d2\u4ef6\uff0c\u4f46\u662f\u5c1d\u8bd5\u4f7f\u7528 Debugger \u7c7b\u7684\u65f6\u5019\u4f1a\u51fa\u73b0\u7f16\u8bd1\u9519\u8bef\uff0c\u63d0\u793a\u65e0\u6cd5\u89e3\u6790\u7684\u5916\u90e8\u7b26\u53f7\u3002\u6211\u5c1d\u8bd5\u5728 pro \u6587\u4ef6\u4e2d\u6dfb\u52a0\u4e86\u5bf9 debugger \u7684\u4f9d\u8d56\uff0c\u4f3c\u4e4e\u6ca1\u6709\u4ec0\u4e48\u6548\u679c\u3002

\n

\u6211\u60f3\u95ee\u95ee\u6709\u6ca1\u6709\u4eba\u505a\u8fc7\u7c7b\u4f3c\u7684\u4e8b\uff0c\u80fd\u5426\u63d0\u4f9b\u4e00\u4e9b\u6307\u70b9\uff1f\u5173\u4e8e\u63d2\u4ef6\u5f00\u53d1\u6211\u53ea\u627e\u5230 VCreateLogic \u516c\u53f8\u7684\u4e00\u4e2a\u6587\u6863\uff0c\u5173\u4e8e creator \u63d2\u4ef6\u5f00\u53d1\u7684\u5b98\u65b9\u6587\u6863\u6ca1\u600e\u4e48\u627e\u5230\uff1f

\n" }, { "author": { "url": "member/mirage13", "name": "mirage13", "avatar": "https://cdn.v2ex.com/gravatar/1e5ebb0451d6d423f46b5b78f2a95e07?s=73&d=retro" }, "url": "t/1019515", "title": "\u6c42\u52a9\u4e00\u4e2a\u8bfb\u786c\u76d8\u5e8f\u5217\u53f7\u7684\u95ee\u9898", "id": "t/1019515", "date_published": "2024-02-29T08:17:33+00:00", "content_html": "

\u4f7f\u7528 wmic \u8bfb\u5230\u7684\u5e8f\u5217\u53f7\u662f\u4e0b\u9762\u8fd9\u79cd\u683c\u5f0f\nwmic diskdrive where index=0 get serialnumber\nSerialNumber\n0000_0000_0000_0000_8CE3_8E03_0080_77C3.

\n

\u4f46\u662f\u6240\u6709\u7b2c\u4e09\u65b9\u8f6f\u4ef6\u8bfb\u5230\u90fd\u662f\n82OA12W5KMH5

\n

\u8bf7\u6559\u6709\u6ca1\u6709\u53ef\u4ee5\u76f4\u63a5\u83b7\u53d6\u6b63\u786e\u5e8f\u5217\u53f7\u7684\u547d\u4ee4\u884c\uff0c\u6216\u53ef\u4ee5\u5e26\u53c2\u6570\u76f4\u63a5\u8f93\u51fa\u786c\u76d8\u5e8f\u5217\u53f7\u7684\u7b2c\u4e09\u65b9\u5de5\u5177\uff1f

\n" }, { "author": { "url": "member/johnsmith2077", "name": "johnsmith2077", "avatar": "https://cdn.v2ex.com/gravatar/1e607a51bde008718ac79c29ae2c726a?s=73&d=retro" }, "url": "t/1008622", "title": "\u5173\u4e8e Qt6.6.0 \u65e0\u6cd5\u8bbe\u7f6e\u7a0b\u5e8f\u56fe\u6807\u7684\u95ee\u9898", "id": "t/1008622", "date_published": "2024-01-14T18:58:43+00:00", "content_html": "

\u4e00\u5f00\u59cb\u7528\u7684 cmake \uff0c\u6309\u7f51\u4e0a\u627e\u7684\u5404\u79cd\u65b9\u6cd5\u65e0\u6cd5\u89e3\u51b3\uff0c\u6362\u6210 qmake \uff0c\u8fd8\u662f\u4e00\u6837\u62a5\u9519\u3002

\n

\u4ed4\u7ec6\u770b\u62a5\u9519\u5185\u5bb9\uff0c\u53d1\u73b0\u662f make \u7684\u8fc7\u7a0b\u4e2d\uff0cwindres \u62a5\u9519\uff0c\u6700\u540e\u5728 stackoverflow \u4e0a\u627e\u5230\u4e34\u65f6\u89e3\u51b3\u65b9\u6cd5\uff1a\nwindres error

\n

\u5728\u751f\u6210\u7684 makefile \u4e2d\u7ed9 windres \u6dfb\u52a0--use-temp-file \u9009\u9879

\n

\u4f46\u662f\u5728\u4e34\u65f6\u751f\u6210\u7684 makefile \u4e2d\u76f4\u63a5\u6539\u6bd5\u7adf\u4e0d\u662f\u957f\u4e45\u4e4b\u8ba1\uff0c\u4e8e\u662f\u7ee7\u7eed\u641c\u7d22\uff0c\u53d1\u73b0:\nqmake.conf

\n

\u4fee\u6539\u76f8\u5e94 qmake.conf \u4e2d\u7684 QMAKE_RC \u5373\u53ef

\n

\u6bd4\u5982\u5728 win32-g++/qmake.conf \u4e2d\u6dfb\u52a0\u4e00\u884c\uff1a

\n
QMAKE_RC += --use-temp-file\n
\n

\u81f3\u6b64\uff0c\u95ee\u9898\u89e3\u51b3\uff08\u6ca1\u6709\u5c1d\u8bd5\u5176\u4ed6\u7248\u672c\u7684 Qt \uff0c\u4e0d\u77e5\u9053\u662f\u4e0d\u662f\u7248\u672c\u76f8\u5173\u95ee\u9898\uff09

\n" }, { "author": { "url": "member/kissdata", "name": "kissdata", "avatar": "https://cdn.v2ex.com/avatar/2e41/034e/292265_large.png?m=1702609368" }, "url": "t/1000622", "date_modified": "2023-12-15T03:27:04+00:00", "content_html": "

\u60f3\u5728\u7f16\u8bd1 openwrt 23.05 \u7684\u65f6\u5019\u7f16\u8bd1\u6700\u65b0\u7684 qt6 \u6e90\u7801\uff0c\u641c\u5230\u7684\u662f github Lankaster/qt5-openwrt \uff0c\u6211\u60f3\u76f4\u63a5\u7167\u7740\u4e0a\u9762\u6362\u4e2a\u7248\u672c\u53f7\u6570\u5b57\u597d\u50cf\u6ca1\u7528\u3002

\n

\"\"

\n

\u5b83\u8fd9\u4e2a\u6587\u4ef6 files/qmake.mk \u7528\u7684\u662f qmake \uff0c\u4f46\u662f qt6 \u672c\u8eab\u4f7f\u7528\u7684\u7f16\u8bd1\u65b9\u6cd5\u548c qt5 \u65f6\u5019\u4e0d\u4e00\u6837\u4e86\u3002\u6709\u5927\u4f6c\u4f1a\u8fd9\u4e2a\u5417\uff1f(orz~~

\n", "date_published": "2023-12-15T03:25:39+00:00", "title": "\u6c42\u52a9\uff0c\u5982\u4f55\u7f16\u8bd1 openwrt \u7684\u65f6\u5019\u52a0\u5165 qt6", "id": "t/1000622" }, { "author": { "url": "member/nenseso", "name": "nenseso", "avatar": "https://cdn.v2ex.com/gravatar/9fe3ad8e9b4e0a54b5cf5efc832ef996?s=73&d=retro" }, "url": "t/982570", "date_modified": "2023-10-16T13:21:54+00:00", "content_html": "\u7b80\u76f4\u4e0d\u50cf\u662f 2023 \u5e74\u7684 IDE \uff0c\u50cf 2013 \u5e74\u7684\u3002\u3002\u3002\u6211\u4ee5\u4e3a eclipse \u5df2\u7ecf\u662f\u89c1\u8fc7\u7684\u6700\u4e11\u7684 IDE \u4e86", "date_published": "2023-10-16T13:19:14+00:00", "title": "\u4e3a\u4ec0\u4e48 Qt Creator \u754c\u9762\u5982\u6b64\u4e11\u964b", "id": "t/982570" }, { "author": { "url": "member/lyping", "name": "lyping", "avatar": "https://cdn.v2ex.com/avatar/e9a8/f256/7358_large.png?m=1707119206" }, "url": "t/978940", "date_modified": "2023-10-05T00:30:04+00:00", "content_html": "

\u5927\u6982\u60f3\u5199\u4e00\u4e2a\u81ea\u52a8\u5316\u751f\u6210\u4ee3\u7801\u548c\u914d\u7f6e\u4ee3\u7801\u7684\u5de5\u5177\u3002\u5e95\u5c42\u60f3\u57fa\u4e8e\tQt,\u4f46\u51cf\u5c11\u4ee3\u7801\u7684\u7f16\u8f91\uff0c\u6839\u636e\u914d\u7f6e\uff0c\u81ea\u52a8\u521b\u5efa\u4ee3\u7801\u5e76\u7f16\u8bd1\u3002

\n

\u4e0d\u77e5\u9053\u80fd\u4e0d\u80fd\u95ed\u6e90\u5546\u7528\u3002

\n", "date_published": "2023-10-04T14:51:12+00:00", "title": "\u5927\u5bb6\u4e86\u89e3 Qt \u548c qt-creator \u7684\u5f00\u6e90\u534f\u8bae\u5417\uff1f\u57fa\u4e8e\u5b83\uff0c\u53ef\u4ee5\u5199\u95ed\u6e90\u5546\u7528\u7684\u8f6f\u4ef6\u5417\uff1f", "id": "t/978940" }, { "author": { "url": "member/DaTouJun", "name": "DaTouJun", "avatar": "https://cdn.v2ex.com/gravatar/fcec6f149c5cae6187b320b6ebb60833?s=73&d=retro" }, "url": "t/977333", "title": "\u6c42\u52a9\uff0c\u4f7f\u7528 CLion \u5f00\u53d1 Qt\uff0c\u521b\u5efa\u4e86 UI \u7c7b\u4e0d\u4f1a\u4f7f\u7528", "id": "t/977333", "date_published": "2023-09-26T09:36:17+00:00", "content_html": "

\u4f46\u662f\u91cc\u9762\u7684\u62d6\u62fd\uff0c\u4e0d\u4f1a\u5f71\u54cd h \u548c cpp \u7684\u5185\u5bb9\uff0c\u4e0d\u4f1a\u66f4\u6539\u6700\u540e UI \u7684\u6548\u679c\u662f\u4e3a\u4ec0\u4e48

\n" }, { "author": { "url": "member/dinjufen", "name": "dinjufen", "avatar": "https://cdn.v2ex.com/avatar/cab4/332e/301123_large.png?m=1744768732" }, "url": "t/951946", "title": "mac \u4e0b\u7684 Qt/C++\u5e94\u7528\uff0c\u901a\u8fc7 url scheme \u5524\u8d77\u65f6\uff0c\u5982\u4f55\u83b7\u53d6\u5230\u5524\u8d77\u7684\u94fe\u63a5\uff1f", "id": "t/951946", "date_published": "2023-06-27T01:38:40+00:00", "content_html": "

\u5982\u9898\uff0cwindows \u4e0b\u901a\u8fc7\u6d4f\u89c8\u5668\u5524\u8d77\u5e94\u7528\uff08\u5982 test://a=xxx \uff09\uff0c\u53ef\u4ee5\u76f4\u63a5\u901a\u8fc7 main \u51fd\u6570\u7684 argv \u83b7\u53d6\u5230\u8fd9\u4e2a\u5524\u8d77\u94fe\u63a5\uff0c\u4f46\u662f mac \u4e0b\u901a\u8fc7\u8fd9\u79cd\u65b9\u5f0f\u83b7\u53d6\u4e0d\u5230\u3002\u770b\u4e86 mac \u7684\u5f00\u53d1\u6587\u6863\uff0c\u90fd\u662f swift \u7684

\n" }, { "author": { "url": "member/amazingwujun", "name": "amazingwujun", "avatar": "https://cdn.v2ex.com/gravatar/753affafe5e7237e94c249466e29d69c?s=73&d=retro" }, "url": "t/947341", "title": "Qt \u4e2d\u7684 `QFontMetrics.boundingRect()` \u7b97\u51fa\u6765\u7684\u6587\u672c\u957f\u5ea6\u6709\u65f6\u5019\u4f1a\u4e0d\u5bf9\uff0c\u5e94\u8be5\u5982\u4f55\u5904\u7406\u3002", "id": "t/947341", "date_published": "2023-06-09T07:58:39+00:00", "content_html": "" }, { "author": { "url": "member/luyaocode", "name": "luyaocode", "avatar": "https://cdn.v2ex.com/gravatar/7eaa06e9327a14461ede84984b53118a?s=73&d=retro" }, "url": "t/941716", "title": "\u6c42\u52a9\uff1a Qt \u5f00\u53d1 android \u7a0b\u5e8f\u9047\u5230\u7f16\u8bd1\u4e0d\u901a\u8fc7", "id": "t/941716", "date_published": "2023-05-21T09:19:24+00:00", "content_html": "\u8fd9\u662f\u62a5\u9519\u5b9a\u4f4d\u5730\u70b9\uff1aMakefile \u6587\u4ef6\uff1a
armeabi-v7a\\qrc_qml.cpp: ..\\qtwebquick\\qml.qrc \\
\t\t..\\..\\..\\devs\\Qt\\5.14.2\\android\\bin\\rcc.exe \\
\t\tActive\\ code\\ page:\\ 65001 \\
\t\t..\\qtwebquick\\main.qml
\tD:\\devs\\Qt\\5.14.2\\android\\bin\\rcc.exe -name qml ..\\qtwebquick\\qml.qrc -o armeabi-v7a\\qrc_qml.cpp

\u62a5\u9519\u4fe1\u606f\uff1a
D:\\codes\\Qt\\build-qtwebquick-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Debug\\Makefile:127: error: multiple target patterns. Stop." }, { "author": { "url": "member/SJ2050cn", "name": "SJ2050cn", "avatar": "https://cdn.v2ex.com/avatar/6761/4701/439107_large.png?m=1677383164" }, "url": "t/919238", "date_modified": "2023-02-26T03:47:36+00:00", "content_html": "

\u6700\u8fd1\u6211\u5728\u5199\u4e00\u4e2a pyqt \u7684\u7a0b\u5e8f\uff0c\u91cc\u9762\u9700\u8981\u8c03\u7528\u5916\u90e8\u7684\u4e00\u4e2a mpi \u7a0b\u5e8f\u8fdb\u884c\u8ba1\u7b97\u3002\u6211\u770b\u7f51\u4e0a\u90fd\u7528 Qprocess \u8d77\u5916\u90e8\u7a0b\u5e8f\uff0c\u6211\u8bd5\u4e86\u4e00\u4e0b\uff0c\u786e\u5b9e\u53ef\u4ee5\u76f4\u63a5\u8dd1\u5916\u90e8\u7684 mpi \u7a0b\u5e8f\uff0c\u4f46\u5f53\u6211\u60f3\u4e2d\u9014 kill \u8fd9\u4e2a mpi \u7a0b\u5e8f\u7684\u65f6\u5019\uff0c\u53d1\u73b0\u4e86\u4e00\u4e2a\u95ee\u9898\uff0c\u5c31\u662f Qprocess \u81ea\u5df1\u867d\u7136\u88ab\u6740\u6b7b\u4e86\uff0c\u4f46\u7531\u5b83\u8d77\u7684 mpi \u8fdb\u7a0b\u4ecd\u5728\u540e\u53f0\u8dd1\u3002\u5404\u4f4d\u5927\u4f6c\u77e5\u9053\u5982\u4f55\u5b8c\u5168 kill \u7531 Qprocess \u8d77\u7684 mpi \u7a0b\u5e8f\u5417\uff1f

\n

\u9644\u4e0a\u6211\u7684 pyqt \u4ee3\u7801\u7247\u6bb5\uff1a

\n
 process = QProcess()\n process.setWorkingDirectory(f\"{workDir}\")\n command = f\"mpiexec -n {mpiNum} {SG_INTEXE}\"\n process.start(command)\n while True:\n if self.stopOneFlag:\n process.kill()\n process.waitForFinished(-1)\n process = None\n self.logChange.emit(f\"{name}stop \uff01\\n\")\n logging.info(f\"{name}stop \uff01\")\n break\n
\n", "date_published": "2023-02-26T03:47:09+00:00", "title": "Qt \u91cc\u7684 Qprocess \u600e\u4e48\u5b8c\u5168 kill \u4e00\u4e2a mpi \u7a0b\u5e8f", "id": "t/919238" }, { "author": { "url": "member/Corey0606", "name": "Corey0606", "avatar": "https://cdn.v2ex.com/avatar/0a29/63d0/496802_large.png?m=1669001624" }, "url": "t/915372", "title": "\u8bf7\u6559\u4e00\u4e2a qt graphicsview \u4f18\u5316\u95ee\u9898", "id": "t/915372", "date_published": "2023-02-12T06:43:14+00:00", "content_html": "\u573a\u666f\u4e0a\u6709\u51e0\u5341\u4e07\u4e2a\u53ef\u4ea4\u4e92\u7684 rect \u7136\u540e\u7f29\u5c0f\u7684\u65f6\u5019\u54ea\u6015\u662f\u9875\u9762\u6700\u5c0f\u5316\u7684\u91cd\u7ed8\u90fd\u4f1a\u5f88\u5361 \uff0cviewport \u6362\u6210 opengl \u4e5f\u6ca1\u5565\u7528\u5904 \u8bf7\u6559\u5927\u4f6c\u4eec\u662f\u4e0d\u662f\u53ea\u80fd\u4f18\u5316\u52a8\u6001\u4ea4\u4e92\u7684\u4ee3\u7801\u4e86" }, { "author": { "url": "member/Arctic2021", "name": "Arctic2021", "avatar": "https://cdn.v2ex.com/gravatar/e4027b5519261eed980508abae56fb58?s=73&d=retro" }, "url": "t/914764", "title": "\u6c42\u6307\u70b9 QtWidget \u7a0b\u5e8f\u5982\u4f55\u6539\u5584 Wayland \u4e0b\u7684\u517c\u5bb9\u6027\uff1f", "id": "t/914764", "date_published": "2023-02-10T01:05:04+00:00", "content_html": "

\u6211\u7528 QtWidget \u5199\u4e86\u4e00\u4e2a C++ \u7a0b\u5e8f\uff0c\u5728 X11 \u4e0b\u4e00\u5207\u6b63\u5e38\uff0c\u5728 Wayland \u4e0b\u4ea6\u53ef\u8fd0\u884c\u3002\u7f8e\u4e2d\u4e0d\u8db3\u4e4b\u5904\uff0c\u5b83\u5728 Wayland \u73af\u5883\u4e0b\u7684\u6d88\u606f\u5f39\u7a97\u7b49\u5b50\u7a97\u53e3\u4f4d\u7f6e\uff0c\u4e0d\u662f\u5982 X11 \u4e0b\u822c\u94fa\u5728\u4e3b\u7a0b\u5e8f\u4e0a\u5c42\uff0c\u800c\u662f\u504f\u79fb\u5230\u5f88\u8fdc\u7684\u5730\u65b9\u3002

\n

\u719f\u6089 Qt \u7684\u5927\u4f6c\u6307\u70b9\u4e00\u4e0b\uff0c\u5982\u4f55\u6539\u5584 QtWidget \u7684 Wayland \u517c\u5bb9\u6027\u3002

\n

\"pic\"

\n" }, { "author": { "url": "member/SolarAA", "name": "SolarAA", "avatar": "https://cdn.v2ex.com/gravatar/32e611d87d44d93be4e8b140ad415d2c?s=73&d=retro" }, "url": "t/906201", "title": "Qt Quick \u5e94\u7528\u62d6\u52a8\u7684\u65f6\u5019\u5361\u987f", "id": "t/906201", "date_published": "2023-01-03T03:07:19+00:00", "content_html": "

\u521a\u5f00\u59cb\u5b66\u4e60 Qt \uff0c\u60f3\u95ee\u4e00\u4e0b\u4e3a\u4ec0\u4e48 Qt Quick \u5e94\u7528\u5728\u62d6\u52a8\u7684\u65f6\u5019\u6ca1\u6709 QWidget \u5e94\u7528\u6d41\u7545\uff1f\u4f7f\u7528\u5b98\u65b9\u63d0\u4f9b\u7684\u51e0\u4e2a Quick \u4f8b\u5b50\uff0cWindows 11 \u3002

\n" }, { "author": { "url": "member/icemanpro", "name": "icemanpro", "avatar": "https://cdn.v2ex.com/static/img/avatar_large.png" }, "url": "t/872235", "title": "pro \u6587\u4ef6\u4e2d\u5982\u4f55\u8bbe\u7f6e\u7f16\u8bd1\u5b8c\u540e\u80fd\u8fd0\u884c\u6307\u5b9a\u7684\u6279\u5904\u7406\u6587\u4ef6\uff1f", "id": "t/872235", "date_published": "2022-08-11T09:42:14+00:00", "content_html": "

\u73b0\u60f3\u5728\u7f16\u8bd1\u5b8c exe \u6587\u4ef6\u540e\uff0c\u518d\u8fd0\u884c\u6307\u5b9a\u7684\u6279\u5904\u7406\u6587\u4ef6\uff0c\u5982\u4f55\u5728 pro \u6587\u4ef6\u8bbe\u7f6e

\n" }, { "author": { "url": "member/wisefree", "name": "wisefree", "avatar": "https://cdn.v2ex.com/avatar/2e46/345f/56037_large.png?m=1731070896" }, "url": "t/871791", "title": "\u8bf7\u6559\u5173\u4e8e Qt \u4e8b\u4ef6\u7684\u4f20\u64ad\u987a\u5e8f\u7684\u95ee\u9898", "id": "t/871791", "date_published": "2022-08-09T15:01:18+00:00", "content_html": "

\u5047\u8bbe\u6709\u4e00\u4e2a\u9876\u5c42\u7a97\u53e3 A \uff0cA \u4e0b\u6709 B \u7a97\u53e3\uff0cB \u7a97\u53e3\u4e0b\u6709 C \u7a97\u53e3\uff0c\u4e8b\u4ef6\u53d1\u751f\u65f6\uff0c\u4e8b\u4ef6\u7684\u4f20\u64ad\u987a\u5e8f\u662f\u4e0d\u662f C->B->A \u5462\uff1f\u4e3a\u4ec0\u4e48\uff1f

\n" }, { "author": { "url": "member/codeli", "name": "codeli", "avatar": "https://cdn.v2ex.com/avatar/c783/ba88/455443_large.png?m=1613970870" }, "url": "t/863936", "date_modified": "2022-07-04T04:57:32+00:00", "content_html": "\u7ec4\u4e86\u4e2a pyQt \u7684\u4ea4\u6d41\u7fa4\uff0c\u6b22\u8fce\u5404\u4f4d\u5927\u4f6c\u52a0\u5165.
http://imgur.com/a/XgQYSIB", "date_published": "2022-07-04T04:48:38+00:00", "title": "PyQt \u4ea4\u6d41\u7fa4\u6210\u7acb\u4e86\uff0c\u6b22\u8fce\u5404\u4f4d\u5927\u4f6c\u52a0\u5165", "id": "t/863936" }, { "author": { "url": "member/sethome", "name": "sethome", "avatar": "https://cdn.v2ex.com/avatar/691c/2f55/358951_large.png?m=1758472518" }, "url": "t/853582", "title": "\u73b0\u5728\u8fd8\u5efa\u8bae\u63d0\u524d\u5b66\u4e60 Qt \u6846\u67b6\u5417\uff1f", "id": "t/853582", "date_published": "2022-05-17T15:58:06+00:00", "content_html": "

\u73b0\u5728\u5b66 Qt \u7b97\u4e0d\u7b97 49 \u5165\u56fd\u519b\u3002\u3002\n\u4e0d\u8fc7\u641e\u4e86\u90a3\u4e48\u4e45\u5d4c\u5165\u5f0f\u5f00\u53d1\uff0c\u73b0\u5728\u4e5f\u53ea\u4f1a C/C++\nHTML \u548c python \u4e5f\u5c31\u662f\u4e09\u811a\u732b\u529f\u592b\u6c34\u5e73\u3002\u3002\u5176\u4ed6\u7684\u4e5f\u4e0d\u4f1a\u4e86

\n" }, { "author": { "url": "member/icemanpro", "name": "icemanpro", "avatar": "https://cdn.v2ex.com/static/img/avatar_large.png" }, "url": "t/848908", "date_modified": "2022-04-24T03:34:21+00:00", "content_html": "

\u73b0\u5728\u6709\u4e00\u4e2a qt mingw \u7f16\u8bd1\u7684 release \u7248\u7684\u7a0b\u5e8f\uff0c\u5728\u5ba2\u6237\u90a3\u91cc\u8fd0\u884c\u5185\u5b58\u5360\u7528\u592a\u5927\u4e86\u3002\u6709\u6ca1\u6709\u4ec0\u4e48\u529e\u6cd5\u53ef\u4ee5\u5206\u6790\u662f\u7a0b\u5e8f\u4e2d\u54ea\u91cc\u5185\u5b58\u6709\u6cc4\u9732\uff1f \u7a0b\u5e8f\u662f\u5728 windows \u4e0b\u8fd0\u884c\u7684\u3002

\n", "date_published": "2022-04-24T03:33:22+00:00", "title": "\u6b63\u5f0f\u73af\u5883\u4e0b\uff0c\u5982\u4f55\u5206\u6790 qt \u7a0b\u5e8f\u7684\u5185\u5b58\u6cc4\u9732\uff1f", "id": "t/848908" }, { "author": { "url": "member/Trinity888", "name": "Trinity888", "avatar": "https://cdn.v2ex.com/avatar/6df3/fb2c/248849_large.png?m=1696906163" }, "url": "t/848601", "title": "\u6c42\u6559 \uff1a Qt \u4e24\u4e2a QWidget \u53e0\u52a0\u663e\u793a\u95ee\u9898", "id": "t/848601", "date_published": "2022-04-22T08:08:14+00:00", "content_html": "

\u754c\u9762\u4e2d\u4e24\u4e2a QWidget \u5982\u4f55\u53e0\u52a0\u663e\u793a\u3002\n\u754c\u9762\u4e0a\u65b9\u662f\u4e00\u4e2a QWidget \u6309\u94ae\uff0c\u4e0b\u9762\u663e\u793a\u4e00\u4e2a Qwidget \u63a7\u4ef6\uff1b\n\u5982\u4f55\u8bbe\u7f6e\u4e00\u4e2a\u5728\u53e6\u4e00\u4e2a\u7684\u4e0a\u65b9\u663e\u793a\u3002

\n" }, { "author": { "url": "member/soar0712", "name": "soar0712", "avatar": "https://cdn.v2ex.com/avatar/fc0e/b40d/286809_large.png?m=1751868791" }, "url": "t/844206", "date_modified": "2022-03-31T17:06:40+00:00", "content_html": "", "date_published": "2022-03-31T17:05:23+00:00", "title": "\u5728\u81ea\u5b66 qt\uff0c\u56e0\u4e3a\u4e60\u60ef\u95ee\u9898\u7528\u7684\u662f clion\uff0c\u6807\u51c6 qt \u5de5\u7a0b\u6ca1\u95ee\u9898\uff0c\u4f46\u662f\u60f3\u5199 qt \u63d2\u4ef6\uff0c cmake \u6253\u51fa\u6765\u7684 dll \u6587\u4ef6\u5bbf\u4e3b\u4e0d\u8bc6\u522b\uff0c\u8bf7\u95ee\u6709\u7528 clion \u5f00\u53d1\u8fc7 qt6 \u63d2\u4ef6\u7684\u670b\u53cb\u4e48\uff0c\u6c42\u6307\u5bfc\u6216\u8005\u8d44\u6599\u5e2e\u52a9", "id": "t/844206" }, { "author": { "url": "member/wisefree", "name": "wisefree", "avatar": "https://cdn.v2ex.com/avatar/2e46/345f/56037_large.png?m=1731070896" }, "url": "t/838240", "title": "QUdpSocket bind \u7279\u5b9a\u7684\u672c\u5730 ip\uff0c\u65e0\u6cd5\u53d1\u9001\u6570\u636e\uff1f", "id": "t/838240", "date_published": "2022-03-05T12:01:59+00:00", "content_html": "

windows 10\nQt 5.12.10

\n

\u521b\u5efa\u4e00\u4e2a QUdpSocket \uff0cbind \u4e00\u4e2a\u672c\u5730\u7684 IP \u5982 192.168.1.200 \uff0c\u7ed3\u679c\u7528 writeDatagram \u65e0\u6cd5\u53d1\u9001\u6570\u636e\u3002

\n
    \n
  1. \u4e0d\u8fdb\u884c bind \uff0cwriteDatagram \u53ef\u4ee5\u53d1\u9001\u6570\u636e
  2. \n
  3. \u4e0d\u7ed1\u5b9a\u7279\u5b9a ip \uff0cbind QHostAddress::AnyIPv4 \uff0c\u53ef\u4ee5\u53d1\u9001\u6570\u636e
  4. \n
\n

\u5927\u5bb6\u9047\u5230\u8fc7\u8fd9\u4e2a\u95ee\u9898\u5417\uff1f

\n" }, { "author": { "url": "member/Trinity888", "name": "Trinity888", "avatar": "https://cdn.v2ex.com/avatar/6df3/fb2c/248849_large.png?m=1696906163" }, "url": "t/828091", "date_modified": "2022-01-13T10:32:46+00:00", "content_html": "

\u5927\u5bb6\u6709\u8c01\u4e86\u89e3\u7684\u5417\uff1f\n\u4f8b\u5982\u5f53\u524d\u684c\u9762\u662f\u67d0\u5206\u8fa8\u7387\uff0c\u767e\u6bd4\u5206\uff1a\u9ed8\u8ba4 100%\uff0c\u5f53\u8c03\u6574 100%--300%\u8fc7\u7a0b\u4e2d\uff0c\u754c\u9762\u4e5f\u968f\u4e4b\u653e\u5927\uff1b\n\u76f8\u53cd 300%--100%\u65f6\uff0c\u754c\u9762\u4e5f\u968f\u4e4b\u53d8\u5c0f

\n", "date_published": "2022-01-13T10:28:56+00:00", "title": "QT \u754c\u9762\u5982\u4f55\u5b9e\u73b0\u968f\u7535\u8111\u767e\u5206\u6bd4\u653e\u5927\u3001\u7f29\u5c0f", "id": "t/828091" }, { "author": { "url": "member/Trinity888", "name": "Trinity888", "avatar": "https://cdn.v2ex.com/avatar/6df3/fb2c/248849_large.png?m=1696906163" }, "url": "t/820316", "title": "\u5e0c\u671b\u627e\u4e00\u4f4d\u7cbe\u901a QT \u8005\uff1a\u5408\u4f5c\u4e00\u77ed\u671f\u9879\u76ee\uff0c\u9884\u8ba1\u4e00\u6708\u5185\u5b8c\u6210\u3002", "id": "t/820316", "date_published": "2021-12-06T04:31:34+00:00", "content_html": "\u6dfb\u52a0\u540e\u8bf7\u53d1\u4e0b QT \u505a\u8fc7\u7684\u6848\u4f8b\uff0c\u8c22\u8c22
\u5177\u4f53\u9879\u76ee\u8be6\u60c5\u52a0 v\uff1aOlaf372769" }, { "author": { "url": "member/wisefree", "name": "wisefree", "avatar": "https://cdn.v2ex.com/avatar/2e46/345f/56037_large.png?m=1731070896" }, "url": "t/816138", "title": "\u4e0d\u592a\u7406\u89e3 Qt \u591a\u7ebf\u7a0b Wait Conditions Example", "id": "t/816138", "date_published": "2021-11-17T13:23:08+00:00", "content_html": "\n
buffer[i % BufferSize] = \"ACGT\"[QRandomGenerator::global()->bounded(4)]; // \u5199\u5165\u6570\u636e\n\nfprintf(stderr, \"%c\", buffer[i % BufferSize]); // \u8bfb\u53d6\u6570\u636e\n
\n

\u8fd9\u4e2a\u96be\u9053\u662f\u7ebf\u7a0b\u5b89\u5168\u7684\u5417\uff1f

\n\n

qt \u81ea\u5e26\u4ee3\u7801\u5982\u4e0b\uff1a

\n
 #include <QtCore>\n\n #include <stdio.h>\n #include <stdlib.h>\n\n const int DataSize = 100000;\n\n const int BufferSize = 8192;\n char buffer[BufferSize];\n\n QWaitCondition bufferNotEmpty;\n QWaitCondition bufferNotFull;\n QMutex mutex;\n int numUsedBytes = 0;\n\n class Producer : public QThread\n {\n public:\n Producer(QObject *parent = NULL) : QThread(parent)\n {\n }\n\n void run() override\n {\n for (int i = 0; i < DataSize; ++i) {\n mutex.lock();\n if (numUsedBytes == BufferSize)\n bufferNotFull.wait(&mutex);\n mutex.unlock();\n\n buffer[i % BufferSize] = \"ACGT\"[QRandomGenerator::global()->bounded(4)];\n\n mutex.lock();\n ++numUsedBytes;\n bufferNotEmpty.wakeAll();\n mutex.unlock();\n }\n }\n };\n\n class Consumer : public QThread\n {\n Q_OBJECT\n public:\n Consumer(QObject *parent = NULL) : QThread(parent)\n {\n }\n\n void run() override\n {\n for (int i = 0; i < DataSize; ++i) {\n mutex.lock();\n if (numUsedBytes == 0)\n bufferNotEmpty.wait(&mutex);\n mutex.unlock();\n\n fprintf(stderr, \"%c\", buffer[i % BufferSize]);\n\n mutex.lock();\n --numUsedBytes;\n bufferNotFull.wakeAll();\n mutex.unlock();\n }\n fprintf(stderr, \"\\n\");\n }\n\n signals:\n void stringConsumed(const QString &text);\n };\n\n int main(int argc, char *argv[])\n {\n QCoreApplication app(argc, argv);\n Producer producer;\n Consumer consumer;\n producer.start();\n consumer.start();\n producer.wait();\n consumer.wait();\n return 0;\n }\n\n
\n" }, { "author": { "url": "member/anzu", "name": "anzu", "avatar": "https://cdn.v2ex.com/avatar/2cb5/18bf/377048_large.png?m=1738978440" }, "url": "t/813932", "title": "\u4e3a\u4ec0\u4e48 ListView \u6ca1\u6709\u968f\u7a97\u53e3\u5927\u5c0f\u81ea\u9002\u5e94\u7f29\u653e\uff1f", "id": "t/813932", "date_published": "2021-11-08T09:10:29+00:00", "content_html": "\u7eaf\u840c\u65b0\uff0c\u7cfb\u7edf Linux \uff0c\u7a97\u53e3\u7ba1\u7406\u5668 i3 \u3002
\u622a\u56fe\uff1a
https://imgur.com/a/EoN3wsX" }, { "author": { "url": "member/gainsurier", "name": "gainsurier", "avatar": "https://cdn.v2ex.com/avatar/7f9d/d067/156062_large.png?m=1639980903" }, "url": "t/801706", "date_modified": "2021-09-14T03:01:14+00:00", "content_html": "\u6210\u5343\u4e0a\u767e\u4e2a pro \u5c0f\u9879\u76ee\uff0cmake \u901f\u5ea6\u5012\u662f\u53ef\u4ee5\u591a\u9879\u76ee\u5e76\u884c\uff0c\u5927\u5934\u65f6\u95f4\u5361\u5728 qmake \u4e86\uff0cqmake \u603b\u662f\u5355\u9879\u76ee\u5de5\u4f5c\uff0c\u6709\u529e\u6cd5\u53ef\u4ee5\u8ba9 qmake \u591a\u9879\u76ee\u5e76\u884c\u5417\uff1f", "date_published": "2021-09-14T03:01:00+00:00", "title": "\u53ef\u4ee5\u8ba9 qmake \u591a\u9879\u76ee\u5e76\u884c\u7f16\u8bd1\u5417\uff1f", "id": "t/801706" }, { "author": { "url": "member/icemanpro", "name": "icemanpro", "avatar": "https://cdn.v2ex.com/static/img/avatar_large.png" }, "url": "t/791224", "title": "pro \u9879\u76ee\u6587\u4ef6\u4e2d\uff0c\u5982\u4f55\u5224\u65ad\u7f16\u8bd1\u5668\uff1f", "id": "t/791224", "date_published": "2021-07-23T01:50:37+00:00", "content_html": "\u5982\u4f55\u533a\u5206 msvc \u3001mingw \u4ee5\u53ca\u662f 32 \u4f4d\u8fd8\u662f 64 \u4f4d\u3002" }, { "author": { "url": "member/gainsurier", "name": "gainsurier", "avatar": "https://cdn.v2ex.com/avatar/7f9d/d067/156062_large.png?m=1639980903" }, "url": "t/788074", "date_modified": "2021-07-07T06:21:38+00:00", "content_html": "https://wiki.qt.io/New_Features_in_Qt_6.2

Known \"issues\"
Qt Webengine not yet supported (no official Chromium support yet)
SSL not yet supported (no official OpenSSL support yet)

m1 \u8fd8\u4e13\u95e8\u53d1\u4e86\u4e00\u4e2a blog\uff0cwoa \u53ea\u5728\u65e5\u5fd7\u91cc\u63d0\u4e86\u4e00\u53e5.....\u4f30\u8ba1\u662f\u652f\u6301 m1\uff0c\u987a\u5e26\u7ed9 woa \u652f\u6301\u4e86......", "date_published": "2021-07-07T06:18:19+00:00", "title": "Qt 6.2: \u7ec8\u4e8e\u5b98\u65b9\u652f\u6301 Windows on Arm \u4e86", "id": "t/788074" }, { "author": { "url": "member/whi147", "name": "whi147", "avatar": "https://cdn.v2ex.com/gravatar/5e30b7656bda73bcc9a6e67a8bc4a79f?s=73&d=retro" }, "url": "t/785378", "title": "Linux \u5e73\u53f0\uff0c qt \u548b\u5bfc\u5165 gtk \u5e93", "id": "t/785378", "date_published": "2021-06-23T10:36:35+00:00", "content_html": "

\u5bfc\u5165\u5934\u6587\u4ef6\u76ee\u5f55\u6211\u52a0\u4e86 /usr/include/gtk-3.0\uff0c\u4f46\u662f\u5934\u6587\u4ef6\u627e\u4e0d\u5230

\n" } ] } ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86