Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt Cmake:访问虚拟键盘模块_Qt_Cmake_Qt5_Qtvirtualkeyboard_Cmake Modules - Fatal编程技术网

Qt Cmake:访问虚拟键盘模块

Qt Cmake:访问虚拟键盘模块,qt,cmake,qt5,qtvirtualkeyboard,cmake-modules,Qt,Cmake,Qt5,Qtvirtualkeyboard,Cmake Modules,有人能举一个简单的例子,将qtvirtualkeyboard模块包含到cmake文件中吗?我想访问这些类,但我不知道如何包含它们。这个例子应该可以。它是使用CMake 3.1.1和Qt 5.11.1编译的 在我的GitHub帐户中可用。QML示例基于 Main CMakeLists.txt cmake_minimum_required(VERSION 3.1) # 3rd party tools find_package(Qt5 COMPONENTS Widgets Qml Quick REQ

有人能举一个简单的例子,将qtvirtualkeyboard模块包含到cmake文件中吗?我想访问这些类,但我不知道如何包含它们。

这个例子应该可以。它是使用CMake 3.1.1和Qt 5.11.1编译的

在我的GitHub帐户中可用。QML示例基于

Main CMakeLists.txt

cmake_minimum_required(VERSION 3.1)

# 3rd party tools
find_package(Qt5 COMPONENTS Widgets Qml Quick REQUIRED)

# Directory with the source code
add_subdirectory(src)
CMakeLists.txt包含在子目录中

include_directories(${Qt5Widgets_INCLUDE_DIRS} ${QtQml_INCLUDE_DIRS})
add_definitions(${Qt5Widgets_DEFINITIONS} ${QtQml_DEFINITIONS} ${${Qt5Quick_DEFINITIONS}})

qt5_add_resources(QT_RESOURCES qml.qrc)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}")
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)

set(PROJECT "virtualkeyboard-cmake-56202469")

project(${PROJECT})

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror -std=c++11 -fstrict-aliasing -pedantic-errors -pedantic -Wno-deprecated-declarations -Wno-unused-variable")

if(NOT DEFINED HEADERS)
    file(GLOB HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/*.h)
endif()

if(NOT DEFINED SOURCES)
    file(GLOB SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
endif()

source_group("Header Files" FILES ${HEADERS})
source_group("Source Files" FILES ${SOURCES})

add_executable(${PROJECT} ${HEADERS} ${SOURCES} ${QT_RESOURCES})

target_link_libraries(${PROJECT}
    Qt5::Widgets
    Qt5::Qml
    Qt5::Quick
    )
qml.qrc

<RCC>
    <qresource prefix="/">
        <file>main.qml</file>
    </qresource>
</RCC>

Qt的虚拟键盘只是另一个可以加载的模块。cmake文件的最小示例为:

cmake_minimum_required(VERSION 3.5.0 FATAL_ERROR)

PROJECT("MyKeyboard")

set(CMAKE_PREFIX_PATH $ENV{QTDIR})

find_package(Qt5 COMPONENTS Widgets VirtualKeyboard REQUIRED)

set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)

add_executable("MyKeyboard"
    main.cpp
)

target_link_libraries("MyKeyboard" Qt5::Widgets Qt5::VirtualKeyboard)
import QtQuick 2.10
import QtQuick.Controls 2.3
import QtQuick.VirtualKeyboard 2.1

Rectangle {
    width: 1280
    height: 720
    color: "#F6F6F6"

    Flickable {
        id: flickable
        anchors.fill: parent
        contentWidth: content.width
        contentHeight: content.height
        interactive: contentHeight > height
        flickableDirection: Flickable.VerticalFlick

        property real scrollMarginVertical: 20

        MouseArea  {
            id: content
            width: flickable.width
            height: textEditors.height + 24

            onClicked: focus = true

            Column {
                id: textEditors
                spacing: 15
                x: 12
                y: 12
                width: parent.width - 26

                Label {
                    color: "#565758"
                    text: "Tap fields to enter text"
                    anchors.horizontalCenter: parent.horizontalCenter
                    font.pixelSize: 22
                }
                TextField {
                    width: parent.width
                    placeholderText: "One line field"
                    onAccepted: passwordField.focus = true
                }
                TextField {
                    id: passwordField
                    width: parent.width
                    echoMode: TextInput.Password
                    placeholderText: "Password field"
                    inputMethodHints: Qt.ImhNoAutoUppercase | Qt.ImhPreferLowercase | Qt.ImhSensitiveData | Qt.ImhNoPredictiveText
                    onAccepted: upperCaseField.focus = true
                }
            }
        }
    }
}
cmake_minimum_required(VERSION 3.5.0 FATAL_ERROR)

PROJECT("MyKeyboard")

set(CMAKE_PREFIX_PATH $ENV{QTDIR})

find_package(Qt5 COMPONENTS Widgets VirtualKeyboard REQUIRED)

set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)

add_executable("MyKeyboard"
    main.cpp
)

target_link_libraries("MyKeyboard" Qt5::Widgets Qt5::VirtualKeyboard)