qml中toolbox控件、ComboBox控件、PlainText实现及美化

一. 内容简介

qml中toolbox控件、ComboBox控件、PlainText实现及美化

二. 软件环境

2.1vsCode

2.2Anaconda

version: conda 22.9.0

2.3pytorch

安装pytorch(http://t.csdnimg.cn/GVP23)

2.4QT 5.14.1

新版QT6.4,,6.5在线安装经常失败,而5.9版本又无法编译64位程序,所以就采用5.14.1这个用的比较多也比较稳定的一个版本。

QT编译器采用的是MSVC2017 64bit。

链接:https://pan.baidu.com/s/1ER98DPAkTUPlIyCC6osNNQ?pwd=1234

三.主要流程

3.1 toolbox代码

下面是toollbox代码,没有每页的内容,代码如下,图片就是图标图片,位置都留好了,只换图就可可以了,可以上网自己下载
使用代码

ToolBox{
    Layout.preferredWidth: 300 - 16
    Layout.leftMargin: 8
    Layout.preferredHeight: 600
}

实现代码,里面每个页面我都单独创建一个qml文件写的,如果想在一个文件里面写的话,就是我注释的那个代码,换成那个就可以了


import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.5
import QtQuick.Layouts 1.3

// 这玩意是播放用的
import QtMultimedia 5.12
import Qt.labs.settings 1.1
import QtQuick.Layouts 1.3


Rectangle{
    ListView {
        // 禁止滚动,固定位置
        interactive: false
        id: listView
        anchors.fill: parent
        height: 400
        clip: true
        spacing: 0
        model: ListModel {
            ListElement { name: "     粒子群算法参数设置"; module: "Module1" }
            ListElement { name: "     优化结果选取"; module: "Module2" }
            ListElement { name: "     动压轴承性能计算"; module: "Module3" }
            // Add more items as needed
        }
        Component.onCompleted: {
            // 执行一些操作
            var currentItem = listView.contentItem.children[0];
            currentItem.children[0].children[1].visible = true;
            // 其他操作...
        }
        delegate:Rectangle {
            width: listView.width
            height: content.visible ? 500:40
            clip: true

            ColumnLayout{
                anchors.fill: parent
                spacing: 0
                Rectangle {
                    Layout.preferredWidth: parent.width
                    Layout.preferredHeight: 40
                    color: listView.currentIndex === index ? "#eff0ff" : "white"
                    radius: 8 // 设置圆角半径为 10
                    clip: true
                    Text {
                        anchors.fill: parent
                        text: model.name
                        font.pixelSize: 14 // 设置字体大小为 14 像素
                        font.family: "Arial" // 设置字体样式为 Arial
                        horizontalAlignment: Text.AlignLeft // 水平左对齐
                        verticalAlignment: Text.AlignVCenter // 垂直居中对齐
                        color: listView.currentIndex === index ? "#646cff" : "#333333"
                    }

                    Rectangle {
                        anchors.right: parent.right
                        anchors.verticalCenter: parent.verticalCenter
                        anchors.rightMargin: 20 // 向左偏移 20 个像素
                        width: 24
                        height: 24


                        color: listView.currentIndex === index ? "#eff0ff" : "white"

                        Image {
                            anchors.centerIn: parent
                            source: listView.currentIndex === index ? "images/down.png" : "images/right.png"
                            width: 16
                            height: 16
                        }
                    }
                    MouseArea {
                        anchors.fill: parent
                        onClicked: {
                            for (var i = 0; i <= listView.count; ++i) {
                                var currentItem = listView.contentItem.children[i];
                                if (currentItem && currentItem.children.length > 0) {
                                    if( listView.currentIndex == index){
                                        continue;
                                    }
                                    currentItem.children[0].children[1].visible = false;
                                }
                            }

                            listView.currentIndex = index;
                            content.visible = !content.visible;
                            // console.log(content.visible);
                            // console.log("点击了");
                            // Handle item click event
                            // Handle item click event


                        }
                    }
                }
                Rectangle{
                    id: content
                    Layout.preferredWidth: parent.width
                    Layout.preferredHeight: 460
                    visible: false

                    // 在上面已经给定大小了
                    Loader{
                        id: loader
                        visible: true
                        anchors.fill: parent
//                        sourceComponent: {
//                            if (model.module === "module1") {
//                                return module1;
//                            } else if (model.module === "module2") {
//                                return module2;
//                            } else if (model.module === "module3") {
//                                return module3;
//                            }
//                            // Add more conditions as needed
//                        }
                        source: model.module+".qml"
                    }
                }
            }
        }
    }
}

3.2 页面代码Module2.qml

ComboBox的样式在这个页面里面


import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.5
import QtQuick.Layouts 1.3

// 这玩意是播放用的
import QtMultimedia 5.12
import Qt.labs.settings 1.1
import QtQuick.Layouts 1.3

Rectangle{
    id:module2
    clip: true
    anchors.fill: parent
    //     第一个-----------------------------------------------------------
    //     第1个-----------------------------------------------------------

    // 第一个-----------------------------------------------------------
    Rectangle{
        clip: true
        width: parent.width
        height: 40
        anchors.left: parent.left
        anchors.leftMargin: 20
        anchors.top: parent.top
        anchors.topMargin: 10

        Rectangle{
            clip: true
            width: 100
            height: 40
            anchors.left: parent.left

            Text {
                anchors.fill: parent

                text: qsTr("承载力范围:")
                font.pixelSize: 14 // 设置字体大小为 14 像素
                font.family: "Arial" // 设置字体样式为 Arial
                horizontalAlignment: Text.AlignLeft // 水平左对齐
                verticalAlignment: Text.AlignVCenter // 垂直居中对齐
            }
        }
        // 输入框
        Rectangle{
            clip: true
            width: 60
            height:30
            anchors.left: parent.left
            anchors.leftMargin: 100


            anchors.verticalCenter: parent.verticalCenter
            TextField{
                id: ffmin
                anchors.fill: parent
                text: "50" // 设置默认值
                placeholderText: qsTr("下限")
                background: Rectangle {
                    border.color: "#646cff" // 设置边框颜色
                    radius: 5
                }
            }

        }
        Rectangle{
            clip: true
            width: 60
            height:30
            anchors.left: parent.left
            anchors.leftMargin: 180
            anchors.verticalCenter: parent.verticalCenter
            TextField{
                id: ffmax
                anchors.fill: parent
                text: "51" // 设置默认值
                placeholderText: qsTr("上限")
                background: Rectangle {
                    border.color: "#646cff" // 设置边框颜色
                    radius: 5
                }
            }
        }

    }

    // 第二个-----------------------------------------------------------
    Rectangle{
        clip: true
        width: parent.width
        height: 40
        anchors.left: parent.left
        anchors.leftMargin: 20
        anchors.top: parent.top
        anchors.topMargin: 10 + 40 * 1

        Rectangle{
            clip: true
            width: 100
            height: 40
            anchors.left: parent.left

            Text {
                anchors.fill: parent

                text: qsTr("温升范围:")
                font.pixelSize: 14 // 设置字体大小为 14 像素
                font.family: "Arial" // 设置字体样式为 Arial
                horizontalAlignment: Text.AlignLeft // 水平左对齐
                verticalAlignment: Text.AlignVCenter // 垂直居中对齐
            }
        }
        // 输入框
        Rectangle{
            clip: true
            width: 60
            height:30
            anchors.left: parent.left
            anchors.leftMargin: 100


            anchors.verticalCenter: parent.verticalCenter
            TextField{
                id: ttmin
                anchors.fill: parent
                text: "30" // 设置默认值
                placeholderText: qsTr("下限")
                background: Rectangle {
                    border.color: "#646cff" // 设置边框颜色
                    radius: 5
                }
            }

        }
        Rectangle{
            clip: true
            width: 60
            height:30
            anchors.left: parent.left
            anchors.leftMargin: 180
            anchors.verticalCenter: parent.verticalCenter
            TextField{
                id: ttmax
                anchors.fill: parent
                text: "30" // 设置默认值
                placeholderText: qsTr("上限")
                background: Rectangle {
                    border.color: "#646cff" // 设置边框颜色
                    radius: 5
                }
            }
        }

    }

    // 第三个-----------------------------------------------------------
    Rectangle{
        clip: true
        width: parent.width
        height: 40
        anchors.left: parent.left
        anchors.leftMargin: 20
        anchors.top: parent.top
        anchors.topMargin: 10 + 40 * 2

        Rectangle{
            clip: true
            width: 100
            height: 40
            anchors.left: parent.left

            Text {
                anchors.fill: parent

                text: qsTr("气膜厚度范围:")
                font.pixelSize: 14 // 设置字体大小为 14 像素
                font.family: "Arial" // 设置字体样式为 Arial
                horizontalAlignment: Text.AlignLeft // 水平左对齐
                verticalAlignment: Text.AlignVCenter // 垂直居中对齐
            }
        }
        // 输入框
        Rectangle{
            clip: true
            width: 60
            height:30
            anchors.left: parent.left
            anchors.leftMargin: 100


            anchors.verticalCenter: parent.verticalCenter
            TextField{
                id: hhmin
                anchors.fill: parent
                text: "30" // 设置默认值
                placeholderText: qsTr("下限")
                background: Rectangle {
                    border.color: "#646cff" // 设置边框颜色
                    radius: 5
                }
            }

        }
        Rectangle{
            clip: true
            width: 60
            height:30
            anchors.left: parent.left
            anchors.leftMargin: 180
            anchors.verticalCenter: parent.verticalCenter
            TextField{
                id: hhmax
                anchors.fill: parent
                text: "30" // 设置默认值
                placeholderText: qsTr("上限")
                background: Rectangle {
                    border.color: "#646cff" // 设置边框颜色
                    radius: 5
                }
            }
        }

    }
      // 第4个-----------------------------------------------------------
    Rectangle{
        clip: true
        width: parent.width
        height: 40
        anchors.left: parent.left
        anchors.leftMargin: 20
        anchors.top: parent.top
        anchors.topMargin: 10 + 40*3

        Rectangle{
            clip: true
            width: 100
            height: 40
            anchors.left: parent.left

            Text {
                anchors.fill: parent
                text: qsTr("优先条件:")
                font.pixelSize: 14 // 设置字体大小为 14 像素
                font.family: "Arial" // 设置字体样式为 Arial
                horizontalAlignment: Text.AlignLeft // 水平左对齐
                verticalAlignment: Text.AlignVCenter // 垂直居中对齐
            }

        }

        // 按钮
        Rectangle{
            clip: true
            width: 120
            height:30
            anchors.left: parent.left
            anchors.leftMargin: 100


            anchors.verticalCenter: parent.verticalCenter
            radius: 20

            ComboBox{
                id:control
                anchors.fill:parent
                anchors.centerIn: parent
                font.pixelSize:18
                //                font{
                //                    pixelSize: 12 // 设置字体大小为 14 像素
                //                    family: "Arial" // 设置字体样式为 Arial


                //                    }

                contentItem:Text{
                    leftPadding: 24
                    id:showtext
                    text:control.model.get(0).mText
                    //                        color:"#646cff"
                    color:"#646cff"
                    //                        font.pixelSize: 10 // 设置字体大小为 14 像素
//                    font: control.font
                    elide: Text.ElideRight
                    verticalAlignment: Text.AlignVCenter
                    font.pixelSize: 14 // 设置字体大小为 14 像素


                }

                onActivated: {
                    // 用户选择后更改显示文本项的颜色
                    showtext.text = control.currentText; // 设置选中项的字体颜色为红色
                }
                //指定combobox的外形(椭圆)
                background:Rectangle{
                    implicitWidth: 200
                    implicitHeight: 40
                    color:"#eff0ff"
                    radius: 20
                }


                //添加数据
                model:ListModel{
                    ListElement{
                        mText:"最大温升"
                    }
                    ListElement{
                        mText:"气膜厚度"
                    }
                    ListElement{
                        mText:"承载力"
                    }

                }
                //                contentItem: Text {
                //                    id: displayText

                //                    color: "black" // 设置默认的字体颜色为黑色
                //                }
                //指定每一个数据项的展现形式
                delegate:ItemDelegate{
                    width: control.width

                    contentItem: Text{

                        text:mText
                        //                        color:"#646cff"
                        color:"#646cff"
                        //                        font.pixelSize: 10 // 设置字体大小为 14 像素
//                        font: control.font
                        elide: Text.ElideRight
                        verticalAlignment: Text.AlignVCenter
                        font.pixelSize: 14 // 设置字体大小为 14 像素

                        leftPadding: 12
                    }
                    //指定高亮显示
                    highlighted: control.highlightedIndex === index

                }

                //设计右侧的小图标的样式
                indicator: Canvas {
                    id: canvas
                    x: control.width - width - control.rightPadding
                    y: control.topPadding + (control.availableHeight - height) / 2
                    width: 15
                    height: 10
                    contextType: "2d"

                    Connections {
                        target: control
                        function onPressedChanged() { canvas.requestPaint(); }
                    }

                    onPaint: {
                        context.reset();
                        context.moveTo(0, 0);
                        context.lineTo(width, 0);
                        context.lineTo(width / 2, height);
                        context.closePath();
                        context.fillStyle = control.pressed ? "#d3d3d3" : "#778899";
                        context.fill();
                    }
                }
                //设计弹出框的样式(点击下拉按钮后的弹出框)
                popup: Popup {
                    y: control.height - 1
                    width: control.width
                    implicitHeight: contentItem.implicitHeight
                    padding: 1
                    //弹出框以listview的形式呈现
                    contentItem: ListView {
                        clip: true
                        implicitHeight: contentHeight
                        model: control.popup.visible ? control.delegateModel : null
                        currentIndex: control.highlightedIndex
                        ScrollIndicator.vertical: ScrollIndicator { }
                    }
                    //设计弹出框的外观
                    background: Rectangle {
                        border.color: "#eff0ff"
                        radius: 10
                    }
                }
            }


        }
    }



        // 第5个-----------------------------------------------------------
        Rectangle{
            clip: true
            width: parent.width
            height: 40
            anchors.left: parent.left
            anchors.leftMargin: 20
            anchors.top: parent.top
            anchors.topMargin: 10 + 40 * 4

            Rectangle{
                clip: true
                width: 100
                height: 40
                anchors.left: parent.left

                Text {
                    anchors.fill: parent
                    text: qsTr("计算:")
                    font.pixelSize: 14 // 设置字体大小为 14 像素
                    font.family: "Arial" // 设置字体样式为 Arial
                    horizontalAlignment: Text.AlignLeft // 水平左对齐
                    verticalAlignment: Text.AlignVCenter // 垂直居中对齐
                }

            }

            // 按钮
            Rectangle{
                clip: true
                width: 120
                height:30
                anchors.left: parent.left
                anchors.leftMargin: 100


                anchors.verticalCenter: parent.verticalCenter

                Button {

                    text: "Calculate"
                    anchors.fill: parent
                    anchors.centerIn: parent
                    onClicked: {
                        texttt.words += "开始寻优计算!\n"

                    }
                    onPressed: bg.color="white"
                    onReleased: bg.color="#eff0ff"
                    background: Rectangle {
                        id: bg
                        color: "#eff0ff"
                        radius: 10 // 圆角半径
                    }

                    contentItem: Text {
                        text: "Calculate"
                        font.pixelSize: 16
                        color: "#646cff" // 文本颜色

                        verticalAlignment: Text.AlignVCenter
                        horizontalAlignment: Text.AlignHCenter
                    }
                }

            }
        }

}



3.3 PlainText.qml代码


import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.5
import QtQuick.Layouts 1.3

// 这玩意是播放用的
import QtMultimedia 5.12
import Qt.labs.settings 1.1
import QtQuick.Layouts 1.3


Rectangle{
    id: cccc
    property string words: ""

    clip: true

    Rectangle{
        anchors.top: parent.top


        width: parent.width
        height: 1
        color: "#c5c5c5"

    }
    //    ScrollView {
    //         anchors.fill: parent
    //    TextEdit {
    //        id: textEdit
    //        width:parent.width
    //        height:parent.height - 4
    //        anchors.top: parent.top
    //        anchors.topMargin: 4 //  上面间距为20 个像素
    //        wrapMode: TextEdit.Wrap
    //        font.pixelSize: 14
    //        text: parent.words

    //    }}
    //  内容自动下移动
    Flickable {
        id: flickable
        width: parent.width
        height: parent.height - 4
        contentWidth: textEdit.width
        contentHeight: textEdit.contentHeight
        clip: true

        contentY: textEdit.contentHeight <= height ? 0 : textEdit.contentHeight - height
         boundsBehavior: Flickable.StopAtBounds // 禁用回弹效果
        TextEdit {
            id: textEdit

            height:parent.height - 8
            anchors.top: parent.top
            anchors.topMargin: 8 //  上面间距为20 个像素
            anchors.left: parent.left
            anchors.leftMargin: 8//  上面间距为20 个像素
            wrapMode: TextEdit.NoWrap
            font.pixelSize: 14
            text: cccc.words

        }

    }

}

3.4 效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四.参考

http://t.csdnimg.cn/2jfvK
http://t.csdnimg.cn/ks0Aj

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/454034.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

其实很多人不了解SQL Developer

今天主要讲怎么用工具和堡垒机配合连接数据库。 不少使用Oracle的开发和运维都会使用PL/SQL Developer 这个是个不错的软件。只不过从知识产权角度来说他是要收费的。所以理论上要去购买。 其实Oracle官方自己也有自己的工具叫SQL Developer。两个名字差不多。他长这个样子。 …

计算机如何处理异常

前言 大家好&#xff0c;我是jiantaoyab&#xff0c;这篇文章主要计算机究竟是如何处理异常的&#xff0c;异常可以分成中断、陷阱、故障、中止这样四种情况。这四种异常&#xff0c;分别对应着 I/O 设备的输入、程序主动触发的状态切换、异常情况下的程序出错以及出错之后无可…

【C语言】三种方式实现字符串(char*)/字符数组(char[ ])输入输出

前言 做题时经常需要用到字符串&#xff0c;写篇笔记加强记忆&#xff0c;本文用 4个例子实现字符串的输入输出操作。 scanf(); 从键盘输入数据时&#xff0c;遇到 “空格”、“回车” 都会终止。若要接受空格&#xff0c;使用 gets(); 代替 scanf(); 多个 scanf(); 同时出现…

TYPE C模拟耳机POP音产生缘由

关于耳机插拔的POP音问题&#xff0c;小白在之前的文章中讲述过关于3.5mm耳机的POP音产生原因。其实这类插拔问题的POP音不仅仅存在于3.5mm耳机&#xff0c;就连现在主流的Type C模拟耳机的插拔也存在此问题&#xff0c;今天小白就来讲一讲这类耳机产生POP音的缘由。 耳机左右…

瑞熙贝通实验室物联网管理平台新升级|支持远程开门视频监控与电源控制以及环境监测

瑞熙贝通实验室智能物联网管控平台&#xff1a;利用“互联网与物联网技术”有机融合&#xff0c;对实验室的用电安全监测、实验室环境异常监测&#xff08;颗粒物监测、明火监测、可燃气体、烟雾监测、温湿度传感器、红外人体感应&#xff09;、实验室人员安全准入、万物互联等…

全自动守护数据安全:全自动备份文件的重要性与高效方案

一、全自动备份文件&#xff1a;数据安全的坚实防线 在数字化时代&#xff0c;电脑成为我们生活和工作中不可或缺的重要工具。然而&#xff0c;随着电脑中存储的数据量不断增长&#xff0c;数据丢失或损坏的风险也随之上升。因此&#xff0c;全自动备份文件的重要性愈发凸显&a…

xcode15,个推推送SDK闪退问题处理办法

个推iOS推送SDK最新版本 优化了xcode15部分场景下崩溃问题&#xff0c;以及回执上传问题&#xff0c;近期您的应用有发版计划&#xff0c;建议更新SDK&#xff1a; 1&#xff09;GTSDK更新到3.0.5.0以及以上版本&#xff1b; 2&#xff09;GTCommonSDK更新到3.1.0.0及以上版本…

css实现高度是宽度一半的效果

1、方法一&#xff1a;使用变量:root、var()、clac()实现&#xff1a; 1.1 效果如下&#xff1a; 2.2 代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title>&l…

LM2903BIDR比较器芯片中文资料规格书PDF数据手册参数引脚图功能封装尺寸图

产品概述&#xff1a; M393B 和 LM2903B 器件是业界通用 LM393 和 LM2903 比较器系列的下一代版本。下一代 B 版本比较器具有更低的失调电压、更高的电源电压能力、更低的电源电流、更低的输入偏置电流和更低的传播延迟&#xff0c;并通过专用 ESD 钳位提高了 2kV ESD 性能和输…

hcia datacom课程学习(2):telnet与ssh

telnetssh所属层应用层应用层所应用的传输层协议tcptcp功能远程连接远程连接默认端口2322安全性很低较高功能组件分布客户端、服务器端客户端、服务器端linux环境不自带自带windows环境 win7有客户端和服务器端&#xff0c;但需要手动打开。 win10只有客户端&#xff0c;也需要…

<AI大模型学习>——《人工智能AI》

&#xff1c;AI大模型学习&#xff1e;——《人工智能AI》 一、AI大模型通识 1.AI介绍 人工智能&#xff08;Artificial Intelligence&#xff09;&#xff0c;英文缩写为AI。 是新一轮科技革命和产业变革的重要驱动力量&#xff0c; 是研究、开发用于模拟、延伸和扩展人的智…

15双体系Java学习之数组的声明和创建

数组的声明 ★小贴士 可以使用int[] a;或者int a[];建议使用第一种风格&#xff0c;因为它将元素类型int[]&#xff08;整型数组&#xff09;与变量名清晰分开了。 在Java中声明数组时不能指定其长度。这种定义是非法的&#xff1a;int a[5]; 注意&#xff1a;上图显示的内存…

基于vue实现bilibili网页

学校要求的实验设计,基于vue实现bilibili网页版,可实现以下功能 (1)基本的悬浮动画和页面渲染 (2)可实现登录和未登录的页面变化 (3)在登录页面的,实现密码判断,或者短信验证方式的倒数功能 (4)实现轮播图 (5)实现预览视频(GIF) (6)页面下拉到一定高度出现top栏以及右下角的返回…

【计算机视觉】目标跟踪| 光流算法详细介绍|附代码

0、前言 在上篇文章中https://blog.csdn.net/Yaoyao2024/article/details/136625461?spm1001.2014.3001.5501&#xff0c;我们对目标跟踪任务和目标跟踪算法有了大致的了解。今天我们就来详细介绍一下其中的生成式算法的一种&#xff1a;光流法。 在介绍光流法之前&#xff…

学成在线_课程预览-视频播放测试_视频加载出错

问题 在进行课程预览界面的视频播放测试时界面提示视频加载出错。 如图所示JAVA特性讲解的第一小节视频加载出错。 查看课程计划会发现该小节已经进行了视频关联。 问题原因 此课程小节的关联视频在我们自己的minIO的桶中并不存在。所以前端从数据库中拿到的关联视频url是…

1960-2020年全球双边迁移数据库(Global Bilateral MigrationDatabase)

1960-2020年全球双边迁移数据库&#xff08;Global Bilateral MigrationDatabase&#xff09; 1、时间&#xff1a;1960-2000年&#xff0c;每10年一次具体为&#xff1a;1960年、1970年、1980年、1990年、2000年 2、来源&#xff1a;世界银行 3、指标&#xff1a;Country O…

零基础自学C语言|自定义类型:联合与枚举

✈联合体 &#x1f680;联合体的类型声明 像结构体一样&#xff0c;联合体也是由一个或者多个成员构成&#xff0c;这些成员可以不同的类型。 但是编译器只为最大的成员分配足够的内存空间。联合体的特点是所有成员共用同一块内存空间。所以联合体也叫&#xff1a;共用体。 给…

node.js---EJS 模板引擎

什么是模板引擎 模板引擎是分离 用户界面和业务数据 得一种技术 什么事 EJS EJS 是一个高效的 JavaScript 得模板殷勤 EJS 初体验 下载&#xff1a; npm i ejs --save 引用 const ejs require(ejs) 配置 app.set("views",__dirname"/view");//设…

蓝桥杯刷题(二分)

前言&#xff1a; 最近学校的学业有点重&#xff0c;好多课的作业一下布置导致我时间紧张&#xff0c;今天好不容易找到了整块的时间来刷刷题&#xff0c;不过有几道题难度对我来说有一点大了&#xff0c;所以到现在为止也没做几道&#xff0c;希望自己在后面能更勤奋一点吧。 …

探索 MySQL 递归查询,优雅的给树结构分页!

一、概述 递归查询是一种在数据库中处理具有层级结构数据的技术。它通过在查询语句中嵌套引用自身&#xff0c;以实现对嵌套数据的查询。递归查询在处理树状结构、父子关系或层级关系的数据时非常有用。 在MySQL中&#xff0c;递归查询可以使用WITH RECURSIVE语句来实现。该语…