我看到正则表达式有一个新类 - QRegularExpression.它只是QRegExp的typedef,还是新类,还是什么?为什么我们需要它,我们已经有了QRegExp?
令我惊讶的是,该Image组件没有radius属性.我尝试通过将图像放在圆形中来模拟圆角Rectangle,但它不会剪切角落.
Rectangle {
anchors.right: rectContentBg.left
anchors.top: rectContentBg.top
anchors.margins: 8
radius: 8
width: 64
height: 64
Image {
id: imgAuthor
opacity: 1
smooth: false
anchors.fill: parent
source: "qrc:/res/sample_avatar.jpg"
}
}
Run Code Online (Sandbox Code Playgroud)
如何正确创建圆角图像?
最近我们一直在Windows上将基于QT的应用程序从QT 4.8迁移到QT 5,我们遇到了部署问题.请注意,我们的应用程序没有更改,我们只使用新的QT5框架构建它.通过一些努力,我们使用基于VS2010的QT5库进行构建; 我成功地从Qt Creator运行了应用程序.
正如我们在QT4中所做的那样,我们在安装程序中包含了一组必需的QT库.
在我们的测试阶段,当我们在干净的机器上安装我们的QT5应用程序时; 它不会开始.不仅应用程序没有启动,而且它没有输出任何错误.
我们通过依赖检查器运行了应用程序; 并且根本没有缺少库依赖项.
我正在使用Visual Studio 2012在Windows上编写Qt应用程序.使用Qt加载项和Qt 5.0.2的自定义构建静态分发.每当我运行应用程序时,我都会遇到可怕的错误.我在链接器输入中添加了以下内容:"Failed to load platform plugin windows"
imm32.lib
winmm.lib
Ws2_32.lib
qtmaind.lib
Qt5Cored.lib
Qt5Guid.lib
Qt5Widgetsd.lib
Run Code Online (Sandbox Code Playgroud)
起初我想也许我应该将"qwindowsd.lib"添加到该列表中,但是这并没有解决问题.为了让我的应用程序运行,我需要做什么?
我正在使用Qt5 beta并尝试将基于QWidget的对象嵌入到QML中.目标是尽可能多地使用QML,并且只使用QML不能满足我需要的QWidget对象.我找到了一个解释如何为Qt4.7执行此操作的链接,但我没有找到任何解释如何在Qt5中执行此操作的信息.
http://doc.qt.digia.com/4.7/declarative-cppextensions-qwidgets.html
Qt5示例文件夹中的相同示例也可用于:
实例\ qtquick1 \声明\ cppextensions\qwidgets
不幸的是,这个例子使用QtQuick 1而不是QtQuick 2,我想使用Qt5的新功能.我实际上想嵌入一个qwt小部件,但作为第一步,我很乐意嵌入任何简单的基于QWidget的对象.
任何人都可以帮助我在Qt5/QtQuick 2下工作吗?
我正在尝试将Qt4应用程序转换为Qt5.我唯一想知道的是如何获得Widget 的HWND.该程序使用EcWin7显示win 7+上任务栏图标的进度,但需要一个HWND.在将Q_WS_WIN更改为Q_OS_WIN之后,lib本身似乎编译正常.在Windows上的Qt4中,WId只是HWND的typedef ,所以这没问题.在Qt5中,情况不再如此.我找到了一些可以提供线索的邮件列表发布,但似乎QPlatformNativeInterface不再是Qt5的公共API的一部分了.
该程序调用EcWin7.init(this-> winId()); 我需要某种方式将此ID转换为HWND ID或其他方式来获取此ID.
是否可以断开lambda函数?如果"是",怎么样?
根据https://qt-project.org/wiki/New_Signal_Slot_Syntax我需要使用QMetaObject::Connection从QObject :: connect方法返回的,但是我如何将该对象传递给lambda函数?
伪代码示例:
QMetaObject::Connection conn = QObject::connect(m_sock, &QLocalSocket::readyRead, [this](){
QObject::disconnect(conn); //<---- Won't work because conn isn't captured
//do some stuff with sock, like sock->readAll();
}
Run Code Online (Sandbox Code Playgroud) 我们有一个大型项目,它使用.NET Framework来显示表单/窗口.最近我决定弃用CLR依赖并转移到Qt.
在学习Qt时,我们已经从Visual Studio 2013迁移到2015,然后我注意到vs2015使用的MSVC 14版本没有qt支持.
此外,Qt vs addin还没有使用我们使用的jn visual studio express/community edition.我有没有机会在我们的项目中使用Qt和qt addin?
搜索网络没有帮助,看起来没有人使用Qt与最新的Visual Studio?
我是使用Qt的新手,我不知道很多东西.
作为测试,我使用基于最新Qt5.1的Visual Studio 2012和Qt-VS-Add-in 创建了一个简单的应用程序
在我编译应用程序之后,它对我不起作用(给出错误),我在互联网上搜索并发现很多人说我必须从目录中复制下面提到的那些dll:
C:\Qt\Qt5.1.0\5.1.0\msvc2012\bin\
Run Code Online (Sandbox Code Playgroud)
DLL我必须复制才能使我的应用程序工作:
icudt51.dll
icuin51.dll
icuuc51.dll
libEGL.dll
libGLESv2.dll
Qt5Core.dll
Qt5Gui.dll
Qt5Widgets.dll
Run Code Online (Sandbox Code Playgroud)
我的问题是这些dll的大小,它们大约是"37 MB"而我的应用程序本身只是"30 KB"!所以,那些Qt库将为我的应用程序添加至少37 MB [我不认为它与我下载的其他基于Qt的应用程序一起发生].有没有什么解决方案可以让我最终得到一个小的.exe文件?!
我听到有些人说我必须为Microsoft C++编译器添加一个dll,你能为我解释一下吗?
注意:我在StackOverFlow上遇到了很多问题,但我找不到任何可以帮助我的东西,所以请不要将其标记为重复,因为如果我找到了明确的答案,我就不会发布这个问题!
任何帮助,将不胜感激.