Skip to content
Snippets Groups Projects
Commit ab76852d authored by Xu Beilin's avatar Xu Beilin
Browse files

Merge branch 'master' into 'main'

Master

See merge request !1
parents e5790d08 07f41081
No related branches found
No related tags found
1 merge request!1Master
# This file is used to ignore files which are generated
# ----------------------------------------------------------------------------
*~
*.autosave
*.a
*.core
*.moc
*.o
*.obj
*.orig
*.rej
*.so
*.so.*
*_pch.h.cpp
*_resource.rc
*.qm
.#*
*.*#
core
!core/
tags
.DS_Store
.directory
*.debug
Makefile*
*.prl
*.app
moc_*.cpp
ui_*.h
qrc_*.cpp
Thumbs.db
*.res
*.rc
/.qmake.cache
/.qmake.stash
# qtcreator generated files
*.pro.user*
*.qbs.user*
CMakeLists.txt.user*
# xemacs temporary files
*.flc
# Vim temporary files
.*.swp
# Visual Studio generated files
*.ib_pdb_index
*.idb
*.ilk
*.pdb
*.sln
*.suo
*.vcproj
*vcproj.*.*.user
*.ncb
*.sdf
*.opensdf
*.vcxproj
*vcxproj.*
# MinGW generated files
*.Debug
*.Release
# Python byte code
*.pyc
# Binaries
# --------
*.dll
*.exe
# Directories with generated files
.moc/
.obj/
.pch/
.rcc/
.uic/
/build*/
cmake_minimum_required(VERSION 3.16)
project(suduko VERSION 0.1 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt6 REQUIRED COMPONENTS Quick)
qt_standard_project_setup(REQUIRES 6.5)
qt_add_executable(appsuduko
main.cpp
)
qt_add_qml_module(appsuduko
URI suduko
VERSION 1.0
QML_FILES
Main.qml
RESOURCES Sudoku.qrc
)
# 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
# explicit, fixed bundle identifier manually though.
set_target_properties(appsuduko PROPERTIES
# MACOSX_BUNDLE_GUI_IDENTIFIER com.example.appsuduko
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
MACOSX_BUNDLE TRUE
WIN32_EXECUTABLE TRUE
)
target_link_libraries(appsuduko
PRIVATE Qt6::Quick
)
include(GNUInstallDirs)
install(TARGETS appsuduko
BUNDLE DESTINATION .
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
Main.qml 0 → 100644
import QtQuick
Window {
width: 500
height: 520
visible: true
property alias rectangle1Borderwidth: rectangle1.border.width
title: qsTr("Hello World")
ListModel{
id:sudokuModel
Component.onCompleted:{
let board =[
5, 3, 0, 0, 7, 0, 0, 0, 0,
6, 0, 0, 1, 9, 5, 0, 0, 0,
0, 9, 8, 0, 0, 0, 0, 6, 0,
8, 0, 0, 0, 6, 0, 0, 0, 3,
4, 0, 0, 8, 0, 3, 0, 0, 1,
7, 0, 0, 0, 2, 0, 0, 0, 6,
0, 6, 0, 0, 0, 0, 2, 8, 0,
0, 0, 0, 4, 1, 9, 0, 0, 5,
0, 0, 0, 0, 8, 0, 0, 7, 9
];
for (let i = 0; i < 81; i++) {
sudokuModel.append({ value: board[i], isFixed: board[i] !== 0 });
}
}
}
Grid {
id: grid
width: 378
height: 361
anchors.verticalCenter: row.verticalCenter
anchors.left: row.right
anchors.right: row.left
anchors.top: row.bottom
anchors.bottom: row.top
anchors.leftMargin: -386
anchors.rightMargin: -394
anchors.topMargin: -418
anchors.bottomMargin: 6
anchors.horizontalCenter: row.horizontalCenter
spacing: 2
rows: 3
columns: 3
Repeater {
id: repeater
x: 50
y: 60
width: 400
height: 600
visible: true
model: 9
Rectangle {
id: rectangle
width: 120
height: 120
color: "#ffffff"
border.color: "#ee040b27"
border.width: 2
property int blockIndex:index
Grid {
id: grid1
x: 0
y: 0
width: 120
height: 120
spacing: 0
rows: 3
columns: 3
property int blockIndex:parent.blockIndex
Repeater {
id: repeater1
width: 120
height: 120
model: 9
Rectangle {
id: rectangle2
width: 40
height: 40
color: "#ffffff"
border.width: 1
property int globalIndex:
1+Math.floor(parent.blockIndex / 3) * 27 + (parent.blockIndex % 3) * 3 + Math.floor(index / 3) * 9 + (index % 3)
Text {
anchors.fill:parent
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
id: table_key
x: 0
y: 0
text:parent.globalIndex
}
}
}
}
}
}
}
Row {
id: row
x: 39
y: 440
width: 419
height: 40
spacing: 6
Repeater {
model: 9
Rectangle {
width: 40
height: 40
color: "lightgray"
border.color: "#ee040b27"
border.width: 2
anchors.margins: 5 // 让边框有空间显示
Text {
anchors.fill:parent
text: index+1
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
}
}
}
}
}
import QtQuick
Item {
id: singleBloc
width: 38
height: 38
property alias _textText: _text.text
x: 1
y: 1
focus: false
Text {
id: _text
x: 0
y: 0
width: 40
height: 40
text: "1"
font.pixelSize: 12
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
}
}
import QtQuick
Item {
}
<RCC>
<qresource prefix="/">
<file>MyComponent.qml</file>
<file>MyTable.qml</file>
</qresource>
</RCC>
main.cpp 0 → 100644
#include <QGuiApplication>
#include <QQmlApplicationEngine>
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
QObject::connect(
&engine,
&QQmlApplicationEngine::objectCreationFailed,
&app,
[]() { QCoreApplication::exit(-1); },
Qt::QueuedConnection);
engine.loadFromModule("suduko", "Main");
return app.exec();
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment