小编Pav*_*vel的帖子

不使用SSL时出现QSslSocket错误

我注意到我的两个Qt应用程序中的这个输出使用QNetworkRequest通过QNeworkRequest从外部加载一些数据:

QSslSocket: cannot resolve TLSv1_1_client_method
QSslSocket: cannot resolve TLSv1_2_client_method
QSslSocket: cannot resolve TLSv1_1_server_method
QSslSocket: cannot resolve TLSv1_2_server_method
QSslSocket: cannot resolve SSL_select_next_proto
QSslSocket: cannot resolve SSL_CTX_set_next_proto_select_cb
QSslSocket: cannot resolve SSL_get0_next_proto_negotiated
Run Code Online (Sandbox Code Playgroud)

导致出现这些警告的请求的一个示例是

QNetworkReply reply = m_nam->get(QNetworkRequest(QUrl("http://api.openweathermap.org/data/2.5/forecast?id=2835297&mode=xml")));
Run Code Online (Sandbox Code Playgroud)

我有理由相信任何查询都没有TLS/SSL,都是普通的HTTP.无论URL如何,消息始终在分派第一个请求后出现.我根本不打算使用SSL,代码中没有提到SSL,这意味着我不能以编程方式忽略警告.

我的设置是Windows 7 64位,MSVC2013和MinGW,Qt 5.3.2.无论使用何种编译器,都会显示消息.未安装OpenSSL或其他SSL开发库.

问题是:我如何摆脱这些警告?

ssl qt qsslsocket

11
推荐指数
2
解决办法
2万
查看次数

CSS属性"不透明"的古怪行为

在处理任务时,我必须在可滚动面板的顶部有一个固定定位的工具栏,我偶然发现了CSS属性"opacity"的这种古怪(?)行为.

这个简单的小提琴是自我解释的,但总结一下:如果你有两个DIV,一个固定位置,另一个滚动后面(?)固定一个,那么可滚动div中的半透明内容(不透明度<1)显示出来固定的div.这里固定div的不透明度无关紧要.

如果我给固定div分配一个大于可滚动div的z-index(参见这个小提琴),问题就会消失,我仍然很想知道为什么opacity属性在这种情况下以反直觉方式运行.

有人可以解释一下吗?

顺便说一下,Chrome 35,FF 30和IE 10的行为是一致的.

在这里复制来自jsfiddle的代码 - 因为它是常态.

CSS

.fixedOpaqueDiv {
    position: fixed;
    background-color: #ABABAB;
    width: 100%;
    height: auto;
    text-align: center;
    font-size: 20px;
    color: #DDDDDD;
    padding-top: 5px;
    opacity: 1;
}
.scrollingDiv {
    padding-top: 140px;
    text-align: center;
    color: blue;
    font-weight: bold;
}

.opaque {
    opacity: 1;
}

.translucent {
    opacity: 0.5;
}
Run Code Online (Sandbox Code Playgroud)

HTML

<div style="height: 300px; overflow: auto;">
    <div class="fixedOpaqueDiv">I am a div with fixed position,
        <BR>with same z-index as the div below.
        <BR>I …
Run Code Online (Sandbox Code Playgroud)

html css css3

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

Tortoise Git 中“强制”和“如果存在则覆盖分支”的区别

TortoiseGit 覆盖分支

我在一个小团队中使用 git,并使用 TortoiseGit 作为客户端。每天,我发现我的本地分支在分支后面提交了一些提交,没有任何本地更改。

我的行动方针是从远程更新开始,然后切换/签出到<remote branch>. 如果我已经有相应的本地分支,我需要选中ForceOverride branch if exists复选框才能继续。

问题:两者有什么区别?


进一步阅读:我知道还有其他可能性,例如Pull、 或Reset branch to this。由于各种原因,上述过程恰好是我最喜欢的。

git tortoisegit

5
推荐指数
1
解决办法
5940
查看次数

Qt5:如何将 QPointer 与前向声明类一起使用

问题:smart 替换裸指针,并将它们与前向声明的类一起使用。 QPointers

背景: 正如几乎所有关于现代 C++ 的文本所建议的那样,应该避免使用指针,而应使用智能指针。在 Qt 工具包中,有一组智能指针可用,在这种情况下我特别感兴趣:QWeakPointer(Qt 4) 或QPointer(Qt 5),据说可以与指针自由互换,并NULL在各自的指针时设置为对象(派生自QObject)被删除,从而有助于防止太常见的悬空指针问题。然而,QPointerbe指向的对象是QObject派生类型的要求阻止了前向声明类的使用。

问题:如何将QPointer-type 变量与类头中的前向声明类与前向声明类型结合起来?

或者

如何避免包含我想要使用的对象的整个头文件QPointer

例子:

#pragma once
#include <QObject>
#include <QPointer>

class MyQWidget; // Forward-declared class

class SomeClass {
   QPointer<MyQWidget> m_myWidget;
};
Run Code Online (Sandbox Code Playgroud)

注意:我已经阅读了这样的 wuestion: 在 C++ 中,是否可以将一个类向前声明为从另一个类继承?. 在我的问题中,我正在寻找特定于 Qt 的方法来克服此限制(或更好的设计功能),如果有的话。

编辑:我的主要编译器是 MSVC 2010,我得到的错误是

error C2079: 'MainWindow::m_test' uses …
Run Code Online (Sandbox Code Playgroud)

c++ qt forward-declaration qt5

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

标签 统计

qt ×2

c++ ×1

css ×1

css3 ×1

forward-declaration ×1

git ×1

html ×1

qsslsocket ×1

qt5 ×1

ssl ×1

tortoisegit ×1