小编AB *_*lim的帖子

下载tar.gz包时不支持的协议

我刚从ExternalProject_Add()版本升级GIT_REPOSITORYExternalProject_Add()

它的工作魅力http却在升级后失败了.

我正在尝试使用httpsCMake功能构建第三方库.

ExternalProject_Add(
  luacov
  URL https://github.com/keplerproject/luacov/archive/v0.7.tar.gz
  DOWNLOAD_DIR ${EXTERNAL_PROJECT_DOWNLOAD_DIR}
  CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE}
  SOURCE_DIR ${EXTERNAL_PROJECT_SRC_DIR}/luacov
  BINARY_DIR ${EXTERNAL_PROJECT_BUILD_DIR}/luacov
  UPDATE_COMMAND ""
  PATCH_COMMAND ""
)
Run Code Online (Sandbox Code Playgroud)

我的观察:

  1. 使用URL选项,ExternalProject_Add()允许httphttps协议下载外部项目.
  2. 使用https选项,ExternalProject_Add()只允许GIT_REPOSITORY,但不允许ExternalProject_Add()下载外部项目的协议.

问题:

有没有办法使用http协议下载和构建外部项目?

错误:

[ 16%] Performing download step (download, verify and extract) for 'luacov'
-- downloading...
 src='https://github.com/keplerproject/luacov/archive/v0.7.tar.gz'
 dst='/home/build/my_build/external_projects/downloads/v0.7.tar.gz'
 timeout='none'
CMake Error at /home/build/my_build/luacov-prefix/src/luacov-stamp/download-luacov.cmake:21 (message):
 error: downloading
'https://github.com/keplerproject/luacov/archive/v0.7.tar.gz' failed

status_code: 1 …
Run Code Online (Sandbox Code Playgroud)

linux build download cmake

14
推荐指数
3
解决办法
9340
查看次数

错误:'QtGui/QMainWindow':没有这样的文件或目录:Qt 5.1.1

我已经安装Qt5.1.1并创建了一个新的Gui应用程序.mainwindow.h中的代码显示:

#if QT_VERSION >= 0x050000
#include <QtWidgets/QMainWindow>
#else
#include <QtGui/QMainWindow>
#endif
Run Code Online (Sandbox Code Playgroud)

我觉得很好.但是当我运行它时,我有这个:

error: C1083: Cannot open include file: 'QtGui/QMainWindow': No such file or directory
Run Code Online (Sandbox Code Playgroud)

我知道什么时候更换

#if QT_VERSION >= 0x050000
#include <QtWidgets/QMainWindow>
#else
#include <QtGui/QMainWindow>
#endif
Run Code Online (Sandbox Code Playgroud)

#include <QtWidgets/QMainWindow>
Run Code Online (Sandbox Code Playgroud)

有用.

我只是想知道为什么默认代码是错误的以及如何使defauly代码正确.

windows qt5.1

7
推荐指数
1
解决办法
3万
查看次数

在 cmake 中使用 CPack 生成两个不同的包:Linux

我想为我的项目创建两个不同的包。

  1. DCM(包括除 RCM 特定模块之外的所有模块)
  2. RCM(特定模块。)

1. DCM : src/CMakeList.txt

cmake_minimum_required (VERSION 2.8)

add_subdirectory(ecs) # Include all modules

set(CPACK_GENERATOR TGZ)
set(CPACK_PACKAGE_NAME "dcm")
set(CPACK_PACKAGE_VENDOR "AB")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Device Control")
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReadMe.txt")
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
set(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH})
set(CPACK_PACKAGE_VERSION_BUILD ${BUILD_NUMBER})

set(CPACK_COMPONENTS_ALL DCM RCM )

# Include CPack to introduce the appropriate targets
include(CPack)
Run Code Online (Sandbox Code Playgroud)

2. RCM : src/ecs/mqa/mqa_rcm/CMakeList.txt

set(RCM_SCRIPTS 
commit.sh
install.sh
prepare_for_install.sh
system_check.sh
update_init.sh)

INSTALL(FILES ${RCM_SCRIPTS}
        PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE  WORLD_EXECUTE
        DESTINATION ${RCM_INSTALL_PREFIX}/install
        COMPONENT RCM )
# Create version file
install(FILES "${CMAKE_BINARY_DIR}/version" …
Run Code Online (Sandbox Code Playgroud)

c++ linux cmake package cpack

7
推荐指数
1
解决办法
4006
查看次数

如何在QTableWidget中突出显示鼠标悬停的整行:Qt5

我想强调鼠标悬停在我的行上QTableWidget.

当我悬停鼠标时,只突出显示单个单元格.

我试过这种方法:

bool MyTabWidget::eventFilter(QObject *target, QEvent *event)
{
    if( target == ui->MyTableWidget )
    {
        //Just to print the event type
        qDebug() <<"EventType : "<<event->type();
    }
}
Run Code Online (Sandbox Code Playgroud)

输出: EventType : 13.

`(13 = QEvent::Move)`
Run Code Online (Sandbox Code Playgroud)

我已经迷失了谷歌搜索.但没有得到任何适当的解决方案

有没有其他方法来满足我的要求(突出显示鼠标悬停的整行)?

请帮忙.预先感谢.

编辑:

请参考下面的屏幕截图更清晰.

在此输入图像描述

这是我QTableWidget 想要在鼠标悬停时更改红色边框(已编辑)行的背景颜色.

c++ hover mouseevent qtablewidget qt5

6
推荐指数
1
解决办法
5630
查看次数

如何更改自定义CPrintDialog的属性

当打印机从我的应用程序更改时,我想更改CPrintDialog的属性.

我在自定义CPrintDialog的OnInitDialog()中设置了打印机名称.

CComboBox *wndCmbBox = (CComboBox *)GetDlgItem( IDC_PER_USER );
if( wndCmbBox != NULL )
{
    wndCmbBox->SelectString( -1, s_PrinterName);
}
Run Code Online (Sandbox Code Playgroud)

问题是,可以在组合框中设置打印机名称,但不设置其属性.我的意思是说打印机状态,类型等...默认情况下,默认打印机的属性设置.所以,它的冲突.

但是,如果我从CPrintDialog的组合框中更改了打印机,则根据打印机选择自动更改其属性.

我从任何地方找到任何解决方案.请参考我附上的图片.

的CPrintDialog

编辑 如同cody建议,我可以从我的应用程序中按照所选打印机更改打印机,即使我应用打印命令,然后从选定的打印机打印,这一切都很顺利,但这不是问题,问题是,在第一次打开打印对话框,其属性与所选打印机不匹配,如果选择打印机,则从我的应用程序中选择默认打印机.

windows mfc visual-c++

2
推荐指数
1
解决办法
1379
查看次数

Gstreamer:gst_element_factory_make():总是失败并返回NULL:Qt5

我的问题是,我无法创建 Gstreamer 元素。我正在Gstreamer使用Qt 5.2.1

我在做什么 :

gst_init( NULL, NULL );

GstElement *m_pipeline = gst_pipeline_new ("pipeline1");

GstElement *m_rtspSrc = gst_element_factory_make("rtspsrc", "MyRtspSrc");

gst_element_factory_make总是返回NULL

我已经验证过:

  1. 检查共享对象是否在 $(libdir)/gstreamer-0.10/ 中。(它在那里)。
  2. gst-inspect-0.10 rtspsrc. (它提供了插件的详细信息)。
  3. gst-launch-0.10 fakesrc !my_all_plugin !fakesink(它工作正常)。

我也尝试过替代选项:

GstElementFactory *factory = gst_element_factory_find ("rtspsrc"); if(factory) GstElement *m_rtspSrc = gst_element_factory_create (factory, "MyRtspSrc");

但是,gst_element_factory_find找不到rtspsrc

请帮我解决这个问题。

我也谷歌了一下。但是找不到任何解决办法。我也参考了一些 StackOverflow 文章。

GStreamer gst_element_factory_make 失败等等,但仍然有问题。

非常感谢提前。

windows gstreamer qt5

2
推荐指数
1
解决办法
4183
查看次数

怎么做 - QlineEdit里面的QToolButton:Qt5

我想在QToolButton里面添加QLineEdit.

我想清除该QLineEdit按钮点击的控制文本.

例如,在谷歌图片中如何:

在此输入图像描述

我看了看:

这个 StackOverflow article

但仍未解决我的问题.

提前致谢.

windows qlineedit qt5 qpushbutton

2
推荐指数
1
解决办法
2109
查看次数