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 17)
 | 
				
			||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
 | 
					set(CMAKE_CXX_STANDARD_REQUIRED ON)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets)
 | 
					find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets Quick QuickWidgets)
 | 
				
			||||||
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets)
 | 
					find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets Quick QuickWidgets)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
set(PROJECT_SOURCES
 | 
					set(PROJECT_SOURCES
 | 
				
			||||||
        main.cpp
 | 
					        main.cpp
 | 
				
			||||||
@@ -44,7 +44,7 @@ else()
 | 
				
			|||||||
    endif()
 | 
					    endif()
 | 
				
			||||||
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.
 | 
					# 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
 | 
					# 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 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 "mainwindow.h"
 | 
				
			||||||
#include "./ui_mainwindow.h"
 | 
					#include "./ui_mainwindow.h"
 | 
				
			||||||
 | 
					#include <QQuickWidget>
 | 
				
			||||||
 | 
					#include <QVBoxLayout>
 | 
				
			||||||
 | 
					#include <QQuickView>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
MainWindow::MainWindow(QWidget *parent)
 | 
					MainWindow::MainWindow(QWidget *parent)
 | 
				
			||||||
    : QMainWindow(parent)
 | 
					    : QMainWindow(parent)
 | 
				
			||||||
    , ui(new Ui::MainWindow)
 | 
					    , ui(new Ui::MainWindow)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    ui->setupUi(this);
 | 
					    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()
 | 
					MainWindow::~MainWindow()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,6 +3,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include <QMainWindow>
 | 
					#include <QMainWindow>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
QT_BEGIN_NAMESPACE
 | 
					QT_BEGIN_NAMESPACE
 | 
				
			||||||
namespace Ui {
 | 
					namespace Ui {
 | 
				
			||||||
class MainWindow;
 | 
					class MainWindow;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,17 +14,6 @@
 | 
				
			|||||||
   <string>MainWindow</string>
 | 
					   <string>MainWindow</string>
 | 
				
			||||||
  </property>
 | 
					  </property>
 | 
				
			||||||
  <widget class="QWidget" name="centralwidget"/>
 | 
					  <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>
 | 
					 </widget>
 | 
				
			||||||
 <resources/>
 | 
					 <resources/>
 | 
				
			||||||
 <connections/>
 | 
					 <connections/>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user