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_Qtgui_Qtwidgets - Fatal编程技术网

Qt主题和颜色在使用cmake构建时受到干扰

Qt主题和颜色在使用cmake构建时受到干扰,qt,cmake,qt5,qtgui,qtwidgets,Qt,Cmake,Qt5,Qtgui,Qtwidgets,我在linux上有一个Qt应用程序Qt5,它运行起来看起来非常好。我已经使用QtCreator开发了它,因此默认情况下它是在qmake的帮助下构建的 但是当我使用cmake构建这个项目时,所有小部件的颜色都会受到干扰,如下所示。我的CMakeLists文件中有什么遗漏吗 这是我的cmake文件: cmake_minimum_required(VERSION 3.0.2) set (PROJECT_NAME QtTrialBuild) project (${PROJECT_NAME}) fin

我在linux上有一个Qt应用程序Qt5,它运行起来看起来非常好。我已经使用QtCreator开发了它,因此默认情况下它是在qmake的帮助下构建的

但是当我使用cmake构建这个项目时,所有小部件的颜色都会受到干扰,如下所示。我的CMakeLists文件中有什么遗漏吗

这是我的cmake文件:

cmake_minimum_required(VERSION 3.0.2)

set (PROJECT_NAME QtTrialBuild)
project (${PROJECT_NAME})

find_package(Qt5Widgets REQUIRED)


set(CMAKE_INCLUDE_CURRENT_DIR ON)

include_directories(${Qt5Widgets_INCLUDES})
add_definitions(${Qt5Widgets_DEFINITIONS})

set(CMAKE_CXX_FLAGS "${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}")

set ( SOURCES
main.cpp
imageviewer.cpp
CRubberBand.cpp
CImageSelector.cpp
CSelectablePicture.cpp
CScale.cpp
)

set ( MOC_HEADERS
imageviewer.h
CRubberBand.h
CImageSelector.h
CSelectablePicture.h
CScale.h
)

set ( UIS
 imageviewer.ui
)

qt5_wrap_ui( UI_HEADERS ${UIS} )
qt5_wrap_cpp( MOC_SRCS ${MOC_HEADERS} )

add_executable(${PROJECT_NAME} ${SOURCES} ${MOC_SRCS} ${UI_HEADERS})

target_link_libraries( ${PROJECT_NAME} Qt5::Widgets)
当使用Qt Creator构建时,这就是窗口的外观,也是我们希望它的外观

但是有了Cmake

这是使用cmake构建时的外观

按钮、边框和弹出窗口的颜色将更改。我是否遗漏了任何参数,或者我是否忘记在CmakeList中添加一些内容

QT5\u添加\u资源似乎缺失:

set(YourProject_RC
    YourProject.qrc
    YourProject2.qrc
)

QT5_ADD_RESOURCES(YourProject_RC_SRCS ${YourProject_RC})

add_executable(YourProject.UI
    ...
    ${YourProject_RC_SRCS}
    ...
)

我的项目中没有任何.qrc文件。我对Qt很陌生,所以不确定是否需要。但我没有使用任何外部资源