Qt ist ein plattformübergreifendes C++-Framework für die Entwicklung grafischer Benutzeroberflächen, das von Qt Company entwickelt wurde. In diesem Artikel erfahren Sie, wie Sie das bin-Verzeichnis von Qt zu Umgebungsvariablen hinzufügen, die ErweiteEine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickeltg VSCode installieren und VS-Code für die Qt-Entwicklung verwenden Erstellen Sie das Projekt und führen Sie es aus.
【Empfohlenes Lernen: „Vscode-Tutorial“】
Die Qt Creator-Oberfläche ist nicht schön, aber VS Code ist schöner.
Da Qt5 das Erstellen mit CMake unterstützt und VS Code auch das CMake-Build-System unterstützen kann, ist dies durchaus möglich.
Angenommen, Qt ist in C:Qt
installiert, fügen Sie dann C:Qt5.15.0msvc2019_64bin
zur Umgebungsvariablen hinzu. C:Qt
,那么将C:Qt5.15.0msvc2019_64bin
添加到环境变量。
在扩展商店搜索Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt
,安装微软发行的C/C++扩展。
在扩展商店搜索Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt
,安装前两个扩展,分别为CMake、CMake Tools。
使用Qt Creator创建一个测试项目,如图所示:
用VS Code打开CMakeLists.txt
文件所在目录,如图所示:
需要选择一个kit
,我是用的是VS 2019的工具包,也可以使用MinGW
,具体请参考CMake扩展的官方文档。
提示是否配置智能感知
,选择是。
按F7
进行构建:
按Shift + F5
运行:
添加断点,按下Ctrl + F5
进行调试:
测试后发现如果使用MinGW构建则不会出现下面的问题,而使用Visual C++构建则会出现。
上述所有步骤完成后,已经可以正常编码和运行,但智能感知有一点问题
,如图:
原因在于Qt生成的ui文件没有被包含到智能感知的include目录中。
查询了CMake文档后发现ui文件所在目录会被添加到目标属性的include目录属性中:
但实际验证发现并没有,所以我们还需要手动添加这个属性。
假设生成的目标为Test
,在CMakeLists.txt
文件的最后一行添加:
target_include_directories(Test PRIVATE "${CMAKE_BINARY_DIR}/Test_autogen/include_Debug")
最终的CMakeLists.txt
2. VS Code-ErweiteEine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickeltg installieren
Suchen Sie im ErweiteEine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickeltgsspeicher nach Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt
und installieren Sie die von Microsoft herausgegebene C/C++-ErweiteEine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickeltg.
Suchen Sie Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt in der ErweiteEine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickeltg store
, installieren Sie die ersten beiden ErweiteEine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickeltgen, nämlich CMake und CMake Tools.
CMakeLists.txt
befindet, wie in gezeigt die Figur: 🎜🎜🎜🎜Sie müssen a auswählen kit
, Ich verwende das Toolkit von VS 2019, oder MinGW
Weitere Informationen finden Sie in der offiziellen Dokumentation der CMake-ErweiteEine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickeltg. 🎜🎜Fragen Sie, ob Intelligent Sense
konfiguriert werden soll. Wählen Sie „Ja“. 🎜🎜🎜5. Erstellen Sie das Projekt und führen Sie es aus. 🎜🎜🎜Drücken Sie F7
, um zu erstellen: 🎜🎜🎜🎜Drücken Sie Umschalt + F5
, um Folgendes auszuführen: 🎜🎜🎜🎜🎜7. Debuggen Sie das Projekt 🎜🎜🎜Haltepunkte hinzufügen, drücken Sie Strg + F5
zum Debuggen: 🎜 🎜 🎜🎜🎜Einige kleinere Probleme🎜🎜🎜🎜Nachher Beim Testen wurde festgestellt, dass das folgende Problem nicht auftritt, wenn Sie MinGW zum Erstellen verwenden. Wenn Sie jedoch Visual C++ zum Erstellen verwenden, tritt es nicht auf. 🎜🎜Nachdem alle oben genannten Schritte abgeschlossen sind, kann es codiert und normal ausgeführt werden, es gibt jedoch ein kleines Problem mit der intelligenten Erkennung
, wie im Bild gezeigt: 🎜🎜🎜🎜Der GEine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickeltd dafür ist, dass die von Qt generierte UI-Datei nicht im Include-Verzeichnis enthalten ist von IntelliSense. 🎜🎜Nachdem ich die CMake-Dokumentation abgefragt habe, habe ich festgestellt, dass das Verzeichnis, in dem sich die UI-Datei befindet, zum Include-Verzeichnisattribut des Zielattributs hinzugefügt wird: 🎜🎜🎜🎜Die tatsächliche Überprüfung ergab jedoch, dass dies nicht der Fall ist, sodass wir dieses Attribut noch manuell hinzufügen müssen. 🎜🎜Angenommen, das generierte Ziel ist Test
, fügen Sie in der letzten Zeile der Datei CMakeLists.txt
hinzu: 🎜Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt_minimum_required(VERSION 3.5) project(Test LANGUAGES CXX) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) # QtCreator supports the following variables for Android, which are identical to qmake Android variables. # Check http://doc.qt.io/qt-5/deployment-android.html for more information. # They need to be set before the find_package(Qt5 ...) call. #if(ANDROID) # set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android") # if (ANDROID_ABI STREQUAL "armeabi-v7a") # set(ANDROID_EXTRA_LIBS # ${CMAKE_CURRENT_SOURCE_DIR}/path/to/libcrypto.so # ${CMAKE_CURRENT_SOURCE_DIR}/path/to/libssl.so) # endif() #endif() find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets REQUIRED) find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets REQUIRED) if(ANDROID) add_library(Test SHARED main.cpp mainwindow.cpp mainwindow.h mainwindow.ui ) else() add_executable(Test main.cpp mainwindow.cpp mainwindow.h mainwindow.ui ) endif() target_link_libraries(Test PRIVATE Qt${QT_VERSION_MAJOR}::Widgets) target_include_directories(Test PRIVATE "${CMAKE_BINARY_DIR}/Test_autogen/include_Debug")
CMakeLists.txt
Dateiinhalt Funktioniert ordnungsgemäß für: 🎜rrreee🎜 IntelliSense: 🎜🎜🎜🎜🎜 Weitere Programmierkenntnisse finden Sie unter: 🎜Erste Schritte mit der ProgrammieEine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickeltg🎜! ! 🎜Das obige ist der detaillierte Inhalt vonEine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!