就像网页一样,当内容超出矩形时,会有一个滚动条.有没有其他人可以帮助我?我尝试过listview,但我不能在矩形中使用它
Qt Quick Templates 弹出窗口与 QtQuick Controls 弹出窗口有什么区别?
import QtQuick.Templates 2.0我从vs得到的弹出窗口import QtQuick.Controls 2.0似乎有细微的行为差异。
[1] https://doc-snapshots.qt.io/qt5-5.8/qml-qtquick-controls2-popup.html
我应该在运行时设置 Material 样式的属性,例如在用户单击定义的按钮时更改主题值(亮/暗)。我已经使用 qtquickcontrols2.conf 及其属性(主题、重音和主要)配置了 Material 样式。我无法导入 QtQuick.Controls.Materials 2.0,因为我不知道,但我正在使用 QtCreator 4.0.2 在 Ubuntu 上工作,并且未检测到 QtQuick.Controls.Materials 和 QtQuick.Controls.Universal 导入。我的目标只是在运行时将材质样式的主题从浅色变为深色,反之亦然。如何集成此功能?谢谢指教。
最好的问候丹尼尔
有一个 TextArea,我已将activeFocusOnPress属性设置为false阻止虚拟键盘弹出,但是当用户单击 TextArea 时,光标位置应该移动。为了实现这一目标,我认为 mousearea 将是一个不错的选择。以下是代码:
TextArea{
id:textArea
text:"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
width:100
height: 200
color: "white"
cursorVisible: true
activeFocusOnPress: false //To Block virtual Keyboard popup
background: Rectangle{
color:"transparent"
border.color : "white"
border.width:2
MouseArea{
id:mousearea
anchors.fill:parent
onClicked: {
//*** How to set cursor position??
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 如何清除或清理QIMage
我的以下方法获取对的常量引用QIMage。
MyMethod(const QImage & img) {
// save it to a file
img.save("/path/to/save/the/qimage");
// now I want to clan up img from memory. How should I do it?
}
Run Code Online (Sandbox Code Playgroud)
问题:使用后
如何QImage从内存中清除对象?
注意:
请注意,它是一个const & QImage。因此,答案将涉及将其QImage转换为非const吗?另外,我正在尝试获取QImageData指向数据的指针并将其删除。不知道这是否是正确的方法。提出建议。
目前我有一个以下列方式打开的窗口:
property variant win
Button {
id: testButton
MouseArea {
onClicked: {
var component = Qt.createComponent("test.qml");
win = component.createObject(testButton);
win.show();
}
}
}
Run Code Online (Sandbox Code Playgroud)
创建这样的窗口是否可以,或者有更好的方法来做到这一点(来自 QML,而不是来自 C++)?
当我关闭这个附加窗口时(只需单击“x”按钮),我想将它连接到另一个事件(例如,更改按钮的颜色)。怎么做?
谢谢。
我是QML的新手,正在尝试更改按钮的背景颜色,但似乎无济于事。这是python代码:import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtCore import QUrl
from PyQt5.QtQuick import QQuickView
if __name__ == "__main__":
app = QApplication(sys.argv)
view = QQuickView()
view.setSource(QUrl('basic.qml'))
view.show()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)
和basic.qml:
import QtQuick 2.0
import QtQuick.Controls 2.0
import QtQuick.Controls.Material 2.0
import QtQuick.Controls.Material 2.3
Rectangle {
width:600;height:150;
color: Material.color(Material.Red)
Button {
text: qsTr("Button")
highlighted: true
Material.background: Material.Teal
}
}
Run Code Online (Sandbox Code Playgroud)
这是它的外观,该按钮不是“ Material.Teal”,无论我尝试使用哪种颜色,它仍然无法正常工作。我已经尝试了Pane和其他元素,但还是没有。

这是我获得代码的位置:http : //doc.qt.io/qt-5/qtquickcontrols2-material.html#material-primary-attached-prop
我已经尝试过使用其他样式/方法(例如pallet(或融合)):https ://doc.qt.io/qt-5.10/qml-qtquick-controls2-control.html#palette-prop
Page {
palette.text: "red"
Column {
Label {
text: qsTr("This will use red color...")
} …Run Code Online (Sandbox Code Playgroud) 我需要制作AbstractButton应该是独占的可检查列表,但默认情况下我无法取消选中未选中任何按钮的已选中按钮。
现在我必须做这样的事情来模仿这样的逻辑:
Item {
AbstractButton {
id: oneButton
checkable: true
onCheckedChanged: {
if(checked) {
if(twoButton.checked || threeButton.checked || ...) {
twoButton.checked = threeButton.checked = ... = false
}
}
}
}
AbstractButton {
id: twoButton
checkable: true
onCheckedChanged: {
if(checked) {
if(oneButton.checked || threeButton.checked || ...) {
oneButton.checked = threeButton.checked = ... = false
}
}
}
}
...
}
Run Code Online (Sandbox Code Playgroud)
这很丑陋,如果能找到更好的解决方案那就太好了。
我正在使用QtQuick.Controls 2.12,我试图显示带有 3 个按钮的窗口,其中一个按钮将具有焦点。使用QtQuick.Controls 1.4一切都很好,并且Button1具有焦点(蓝色边框):
但对于QtQuick.Controls 2.12,结果是这样的:
如果我按下Tab焦点将传递到Button2、Button3、Button1 ...
我也尝试过强制聚焦,但没有结果。
这是main.qml
import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Layouts 1.3
import QtQuick.Controls 2.12
Window {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
RowLayout{
anchors.fill: parent
Button{
id: button1
text: "Button1"
focus: true
}
Button{
text: "Button2"
onClicked: {
button1.forceActiveFocus()
}
}
Button{
text: "Button3"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我试图在窗口启动时得到这个: