【问题标题】:how to make GUI Qt project with cmake in Qt Creator with .ui files如何使用 .ui 文件在 Qt Creator 中使用 cmake 制作 GUI Qt 项目
【发布时间】:2018-10-06 17:18:04
【问题描述】:

我想创建一个使用 cmake 作为构建系统 sn QTCreator 的项目

.
├── CMakeLists.txt
├── CMakeLists.txt.user
├── main.cpp
├── notepad.cpp
├── notepad.h
└── notepad.ui

这是我的 cmake 文件:-

cmake_minimum_required(VERSION 2.8)
project(Notepad)

set(CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic -std=gnu++14")

find_package(Qt5Widgets REQUIRED)

set(CMAKE_VERBOSE_MAKEFILE ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)

add_executable(${PROJECT_NAME} main.cpp notepad.cpp)
target_link_libraries(Notepad Qt5::Widgets)

当我尝试构建它时,我收到以下错误:-

AutoUic subprocess error
------------------------
uic failed for
  "/home/jucyref/Development/C++/Test/notepad/notepad.ui"
included by
  "/home/jucyref/Development/C++/Test/notepad/notepad.cpp"

Command
-------
/usr/bin/uic -o /home/jucyref/Development/C++/Test/build-notepad-C_C-Default/Notepad_autogen/include/ui_notepad.h /home/jucyref/Development/C++/Test/notepad/notepad.ui

Output
------
File '/home/jucyref/Development/C++/Test/notepad/notepad.ui' is not valid

.QtCreator的设计模式。默认是禁用的。我该怎么办。我对cmake和qt不是很熟悉

【问题讨论】:

  • 根据错误信息,问题是您的 .ui 文件格式不正确,您可以共享您的 .ui 文件。我创建了一个类似的项目,您的 CMakeLists.txt 工作正常。

标签: c++ qt user-interface cmake uic


【解决方案1】:

您在 add_executable 中缺少 UI 标头

更多详情https://wiki.qt.io/Using_CMake_build_system

set ( SOURCES
..cpp
)

set ( MOC_HEADERS
 ..h
)

set ( UIS
 notepad.ui
)

set ( RESOURCES
 ..qrc
)
QT5_WRAP_UI( UI_HEADERS ${UIS} )

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

【讨论】:

  • Qt4 与 Qt5 不同。
猜你喜欢
  • 2016-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-21
  • 2012-05-29
  • 1970-01-01
  • 2018-02-14
相关资源
最近更新 更多