¿Por qué no se puede reemplazar qwidget por qmainwindow para mostrar el contenido de la ventana?
pregunta
Escribí una clase de ventana heredada de qwidget, que se puede mostrar en otro qwidget. Si la clase base de la clase de ventana se cambia a qmainwidget, no se puede mostrar en otro qwidget porque:
resolver
QMainWindow y QWidget, si desea que los eventos en una ventana de nivel superior respondan en otra ventana de nivel superior, debe fusionar las dos ventanas de nivel superior. Por ejemplo, setCentralWidget puede configurar Qwidget como la ventana principal de QMainWindow.
Referencia de: setCentralWidget puede configurar Qwidget como la ventana principal de QMainWindow - findumars - 博客园
Agregar una ubicación en el mapa de red
visualización de la barra de progreso qml
import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4
Slider{
id:sliderRectangle
minimumValue: 0
maximumValue: 100
value: 20
wheelEnabled : false
anchors.left: parent.left
anchors.leftMargin: 87
anchors.right: parent.right
anchors.rightMargin: 39
anchors.verticalCenter: parent.verticalCenter
height: 40
style: SliderStyle
{
handle: Rectangle//手柄
{
anchors.centerIn: parent;
color: "yourcolor"
border.color: "yourcolor"
border.width: 1
width: 10
height: 10
radius: 5
}
groove: Rectangle {//滑槽
implicitHeight: 2
color: "yourcolor"
radius: 1
Rectangle {
implicitHeight: 2
color: "yourcolor"
implicitWidth: styleData.handlePosition
radius: 1
}
}
}
onValueChanged: {
}
}
el diseño atraviesa itemAt
if(m_vlayout->itemAt(0) != nullptr){//有widget在布局里面
qDebug()<<"m_vlayout is not empty-------------------------------------";
Propiedades del componente de ventana de ventana QML
modalidad: si es modal
banderas: propiedades de la ventana