QString转char*
QString("name").toStdString().c_str()
c_str()没有‘\0’结尾可能导致一些错误可以使用以下方法解决:
QString xmlPath = "path";
const char cXmlName[1024] = {0};
memcpy((void*)cXmlName,xmlPath.toStdString().c_str(),xmlPath.size());
char*转QString
QString(QLatin1String(pTextElement->Value()))
qml开发遇到奇怪的问题QT版本5.12
1)用GridView布局排列TextField时候光标无法显示的问题,如下,没有内容的时候第二列输入框的光标位置被遮住,代理里添加TextField的左边距为1解决此问题
TextField{
id: textSTSN
font.family: myFont
antialiasing: true
font.pixelSize: 16
placeholderTextColor: "#005CFF"
selectByMouse: true
validator:
RegularExpressionValidator {
regularExpression: /^[0-9a-zA-Z]{1,16}$/
}
background: Rectangle {
id: backRect
radius: 4
implicitHeight: 219
implicitWidth: 935
border.width: 1
border.color: activeFocus ? "#005CFF" : "#E8E8E8"
color: "#FAFAFA"
}
}
Component {
id:firstDelegate
Item{
width: (root.width-45)/2
height: 78
//输入框
RegTextField{
id: textEdit1
anchors.left: parent.left
anchors.leftMargin: 1//添加此行解决问题
anchors.top: parent.top
anchors.topMargin: 38
anchors.right: setButton1.left
anchors.rightMargin: 36
height: 40
font.pixelSize: 20
font.family: UI.FontFamily2
verticalAlignment: TextEdit.AlignVCenter
}
}
}
2)调用自定义控件的隐藏和显示时候 界面出现闪烁,采用逐行屏蔽代码调试方法,大概是控件位置受布局位置影响的问题,网上搜索了一圈说要用双缓冲机制,目前还不掌握这个技术,绕道而行,采用解决方案针对Qt Quick界面切换闪屏问题解决办法 - 知乎
根本问题是电脑没有开启显卡高性能模式在main中使用软渲染会改善如下:
文章来源:https://www.toymoban.com/news/detail-444393.html
文章来源地址https://www.toymoban.com/news/detail-444393.html
QQuickWindow::setSceneGraphBackend(QSGRendererInterface::Software);
后续应该会升级QT版本看能不能解决
到了这里,关于QT界面开发杂记(五)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!