我注意到我的两个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开发库.
问题是:我如何摆脱这些警告?
在处理任务时,我必须在可滚动面板的顶部有一个固定定位的工具栏,我偶然发现了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) 
我在一个小团队中使用 git,并使用 TortoiseGit 作为客户端。每天,我发现我的本地分支在分支后面提交了一些提交,没有任何本地更改。
我的行动方针是从远程更新开始,然后切换/签出到<remote branch>. 如果我已经有相应的本地分支,我需要选中Force或Override branch if exists复选框才能继续。
问题:两者有什么区别?
进一步阅读:我知道还有其他可能性,例如Pull、 或Reset branch to this。由于各种原因,上述过程恰好是我最喜欢的。
问题:用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)