widget load qml
This commit is contained in:
		@@ -9,8 +9,8 @@ set(CMAKE_AUTORCC ON)
 | 
			
		||||
set(CMAKE_CXX_STANDARD 17)
 | 
			
		||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
 | 
			
		||||
 | 
			
		||||
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets)
 | 
			
		||||
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets)
 | 
			
		||||
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets Quick QuickWidgets)
 | 
			
		||||
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets Quick QuickWidgets)
 | 
			
		||||
 | 
			
		||||
set(PROJECT_SOURCES
 | 
			
		||||
        main.cpp
 | 
			
		||||
@@ -44,7 +44,7 @@ else()
 | 
			
		||||
    endif()
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
target_link_libraries(QtMd PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
 | 
			
		||||
target_link_libraries(QtMd PRIVATE Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Quick Qt${QT_VERSION_MAJOR}::QuickWidgets)
 | 
			
		||||
 | 
			
		||||
# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
 | 
			
		||||
# If you are developing for iOS or macOS you should consider setting an
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										40
									
								
								main.qml
									
									
									
									
									
								
							
							
						
						
									
										40
									
								
								main.qml
									
									
									
									
									
								
							@@ -1,5 +1,43 @@
 | 
			
		||||
import QtQuick 2.15
 | 
			
		||||
import QtQuick.Controls 2.15
 | 
			
		||||
import QtQuick.Controls.Material 2.15
 | 
			
		||||
 | 
			
		||||
Item {
 | 
			
		||||
Rectangle {
 | 
			
		||||
    anchors.fill: parent
 | 
			
		||||
    border.color: Material.accent
 | 
			
		||||
    border.width: 1
 | 
			
		||||
 | 
			
		||||
    Row {
 | 
			
		||||
        anchors.centerIn: parent
 | 
			
		||||
        spacing: 10
 | 
			
		||||
 | 
			
		||||
        Button {
 | 
			
		||||
            id: clickBtn
 | 
			
		||||
            width: 100
 | 
			
		||||
 | 
			
		||||
            text: "点击我"
 | 
			
		||||
            flat: false
 | 
			
		||||
            anchors.verticalCenter: parent.verticalCenter
 | 
			
		||||
 | 
			
		||||
            onClicked: {
 | 
			
		||||
                countText.text = (parseInt(countText.text) + 1).toString();
 | 
			
		||||
                console.log("按钮被点击了, text:" + countText.text)
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Rectangle {
 | 
			
		||||
            width: 100
 | 
			
		||||
            height: 32
 | 
			
		||||
            anchors.verticalCenter: parent.verticalCenter
 | 
			
		||||
            border.width: 1
 | 
			
		||||
            border.color: Material.accent
 | 
			
		||||
 | 
			
		||||
            Text {
 | 
			
		||||
                id: countText
 | 
			
		||||
                anchors.verticalCenter: parent.verticalCenter
 | 
			
		||||
                anchors.horizontalCenter: parent.horizontalCenter
 | 
			
		||||
                text: qsTr("0")
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,11 +1,23 @@
 | 
			
		||||
#include "mainwindow.h"
 | 
			
		||||
#include "./ui_mainwindow.h"
 | 
			
		||||
#include <QQuickWidget>
 | 
			
		||||
#include <QVBoxLayout>
 | 
			
		||||
#include <QQuickView>
 | 
			
		||||
 | 
			
		||||
MainWindow::MainWindow(QWidget *parent)
 | 
			
		||||
    : QMainWindow(parent)
 | 
			
		||||
    , ui(new Ui::MainWindow)
 | 
			
		||||
{
 | 
			
		||||
    ui->setupUi(this);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    QQuickWidget *quickWidget = new QQuickWidget;
 | 
			
		||||
    quickWidget->setSource(QUrl::fromLocalFile(":/main.qml"));
 | 
			
		||||
    quickWidget->setGeometry(ui->centralwidget->geometry());
 | 
			
		||||
    quickWidget->setResizeMode(QQuickWidget::SizeRootObjectToView);
 | 
			
		||||
    QVBoxLayout *layout = new QVBoxLayout;
 | 
			
		||||
    layout->addWidget(quickWidget);
 | 
			
		||||
    ui->centralwidget->setLayout(layout);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
MainWindow::~MainWindow()
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,7 @@
 | 
			
		||||
 | 
			
		||||
#include <QMainWindow>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
QT_BEGIN_NAMESPACE
 | 
			
		||||
namespace Ui {
 | 
			
		||||
class MainWindow;
 | 
			
		||||
 
 | 
			
		||||
@@ -14,17 +14,6 @@
 | 
			
		||||
   <string>MainWindow</string>
 | 
			
		||||
  </property>
 | 
			
		||||
  <widget class="QWidget" name="centralwidget"/>
 | 
			
		||||
  <widget class="QMenuBar" name="menubar">
 | 
			
		||||
   <property name="geometry">
 | 
			
		||||
    <rect>
 | 
			
		||||
     <x>0</x>
 | 
			
		||||
     <y>0</y>
 | 
			
		||||
     <width>800</width>
 | 
			
		||||
     <height>19</height>
 | 
			
		||||
    </rect>
 | 
			
		||||
   </property>
 | 
			
		||||
  </widget>
 | 
			
		||||
  <widget class="QStatusBar" name="statusbar"/>
 | 
			
		||||
 </widget>
 | 
			
		||||
 <resources/>
 | 
			
		||||
 <connections/>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user