【QML-布局】

news2024/11/20 20:22:21

QML编程指南 VX:hao541022348

  • ■ 布局
    • ■ Manual Positioning 手动定位
    • ■ Anchors 锚定位
    • ■ Positioners 定位器
      • ■ Row(行定位器)
      • ■ Column (列定位器)
      • ■ Grid(表格定位器)
      • ■ Flow(流式定位器)
    • ■ Layout Types 布局类型
      • ■ Layout 作用
      • ■ RowLayout 行布局 💾
      • ■ ColumnLayout 列布局
      • ■ GridLayout 网格布局
      • ■ StackLayout 堆布局

■ 布局

■ Manual Positioning 手动定位

其实就是通过设置元素 Item 的x,y属性,可以将它们放置在屏幕上特定的x,y坐标处。

  import QtQuick 2.3
  Item {
      width: 100; height: 100

      Rectangle {
          // Manually positioned at 20,20
          x: 20
          y: 20
          width: 80
          height: 80
          color: "red"
      }
  }

■ Anchors 锚定位

基本上每个 可视化 Item 类型都提供了锚定到其他 Item 类型的能力。
每个元素有7条锚线:左、右、垂直居中、上、下、基线和水平居中。
这三条垂直锚线可以锚定到另一个项目的三条垂直锚线中的任何一条上,这四条水平锚线可以锚定到另一个项目的水平锚线上。Anchors 也是用的相对锚定的方式来实现的。

锚属性描述
anchors.left:元素左边缘相对于父元素或其他元素的左边缘的位置。
anchors.right:元素右边缘相对于父元素或其他元素的右边缘的位置。
anchors.top:元素顶部边缘相对于父元素或其他元素的顶部边缘的位置。
anchors.bottom:元素底部边缘相对于父元素或其他元素的底部边缘的位置。
anchors.horizontalCenter:元素水平中心相对于父元素或其他元素的水平中心的位置。
anchors.verticalCenter:元素垂直中心相对于父元素或其他元素的垂直中心的位置。
anchors.fill:元素完全填充父元素或其他元素的大小。
anchors.centerIn:元素完全居中于父元素或其他元素。
    Rectangle {
        width: 200
        height: 200
        color: "lightblue"
        Rectangle {
            width: 100
            height: 100
            color: "red"
            anchors.centerIn: parent
        }
        Rectangle {
            width: 50
            height: 50
            color: "green"
            anchors.right: parent.right
            anchors.bottom: parent.bottom
            anchors.margins: 10
        }
    }

在这里插入图片描述

  import QtQuick 2.3

  Item {
      width: 200; height: 200

      Rectangle {
          // Anchored to 20px off the top right corner of the parent
          anchors.right: parent.right
          anchors.top: parent.top
          anchors.margins: 20 // Sets all margins at once

          width: 80
          height: 80
          color: "orange"
      }

      Rectangle {
          // Anchored to 20px off the top center corner of the parent.
          // Notice the different group property syntax for 'anchors' compared to
          // the previous Rectangle. Both are valid.
          anchors { horizontalCenter: parent.horizontalCenter; top: parent.top; topMargin: 20 }

          width: 80
          height: 80
          color: "green"
      }
  }

■ Positioners 定位器

放置在定位器中的物品会以某种方式自动定位;

■ Row(行定位器)

Row 沿着一行安置它的孩子们,在你需要水平放置一系列的 Item 时,它比锚布局更加方便。
一旦你把一个 Item 交给 Row 来管理,那就不要再使用 Item 的 x 、 y 、 anchors 等属性了, Row 会安排得妥妥的。
在一个 Row 内的 item ,可以使用 Positioner 附加属性来获知自己在 Row 中的更多位置信息。 Positioner 有 index 、 isFirstItem 、 isLastItem 三个属性。

** 示例一 **

  import QtQuick 2.3

  Item {
      width: 300; height: 100

      Row { // The "Row" type lays out its child items in a horizontal line
          spacing: 20 // Places 20px of space between items

          Rectangle { width: 80; height: 80; color: "red" }
          Rectangle { width: 80; height: 80; color: "green" }
          Rectangle { width: 80; height: 80; color: "blue" }
      }
  }

** 示例二 **
在这里插入图片描述
Row 本身是一个 Item ,所以你可以使用锚布局来定位一个 Row

import QtQuick 2.0
import QtQuick.Controls 1.1
 
Rectangle {
    width: 360;
    height: 240;
    color: "#EEEEEE";
    id: rootItem;
 
    Text {
        id: centerText;
        text: "A Single Text.";
        anchors.centerIn: parent;
        font.pixelSize: 24;
        font.bold: true;
    }
 
    function setTextColor(clr){
        centerText.color = clr;
    }
 
    Row {
        anchors.left: parent.left;
        anchors.leftMargin: 4;
        anchors.bottom: parent.bottom;
        anchors.bottomMargin: 4;
        spacing: 4;
 
        Rectangle {
            width: 50;
            height: 30;
            color: Qt.rgba(Math.random(), Math.random(), Math.random(), 1.0);
        }
 
        Rectangle {
            width: 50;
            height: 30;
            color: Qt.rgba(Math.random(), Math.random(), Math.random(), 1.0);
        }
 
        Rectangle {
            width: 50;
            height: 30;
            color: Qt.rgba(Math.random(), Math.random(), Math.random(), 1.0);
        }
    }
}

■ Column (列定位器)

Column你可以将任何其他 QML元素作为Column的子元素,如按钮、图像、自定义组件等。

属性描述
spacing:子元素之间的间距。可以设置为像素值或其他长度单位。
Layout.alignment:用于控制子元素在垂直方向上的对齐方式,如AlignHCenter、AlignTop等。
Layout.fillHeight:是否填充剩余空间。如果设置为true,子元素将占用剩余的垂直空间。

** 示例一 **

Column {
    spacing: 10 // 子元素之间的间距
    Text {
        text: "First Item"
    }
    Rectangle {
        width: 100
        height: 100
        color: "red"
    }
    Item {
        width: 200
        height: 50
    }
    Text {
        text: "First Item"
    }
}

** 示例二 **
在这里插入图片描述

import QtQuick 2.0
import QtQuick.Controls 1.1
 
Rectangle {
    width: 360;
    height: 240;
    color: "#EEEEEE";
    id: rootItem;
    
    Text {
        id: centerText;
        text: "A Single Text.";
        anchors.centerIn: parent;
        font.pixelSize: 24;
        font.bold: true;
    }
    
    function setTextColor(clr){
        centerText.color = clr;
    }
    
    Column {
        anchors.left: parent.left;
        anchors.leftMargin: 4;
        anchors.bottom: parent.bottom;
        anchors.bottomMargin: 4;
        spacing: 4;
        
        Rectangle {
            width: 50;
            height: 30;
            color: Qt.rgba(Math.random(), Math.random(), Math.random(), 1.0);
        }
 
        Rectangle {
            width: 50;
            height: 30;
            color: Qt.rgba(Math.random(), Math.random(), Math.random(), 1.0);
        }
 
        Rectangle {
            width: 50;
            height: 30;
            color: Qt.rgba(Math.random(), Math.random(), Math.random(), 1.0);
        }
    }
}

■ Grid(表格定位器)

Grid 在一个网格上安置它的子 Items ,它会创建一个拥有很多单元格的网格,足够容纳它所有的子 Items 。
Grid 会从左到右、从上到下把它的子 items 一个一个塞到单元格里。
item 默认会被放在一个单元格左上角 (0, 0) 的位置。

你可以通过 rows 和 columns 属性设定表格的行、列数。如果你不设置,默认只有四列,而行数则会根据实际的 item 数量自动计算。rowSpacing 和 columnSpacing 指定行、列间距,单位是像素。

Grid 的 flow 属性描述表格的流模式,可以取值 Grid.LeftToRight ,这是默认模式,从左到右一个挨一个放置 item,一行放满再放下一行;取值为 Grid.TopToBottom 时,从上到下一个挨一个放置 item,一列放满再放下一列。

horizontalItemAlignment 和 verticalItemAlignment 指定单元格对齐方式。默认的单元格对齐方式和 layoutDirection 以及 flow 有关。

** 示例一 **
在这里插入图片描述

import QtQuick 2.0
import QtQuick.Controls 1.1
 
Rectangle {
    width: 360;
    height: 240;
    color: "#EEEEEE";
    id: rootItem;
    
    Text {
        id: centerText;
        text: "A Single Text.";
        anchors.centerIn: parent;
        font.pixelSize: 24;
        font.bold: true;
    }
    
    function setTextColor(clr){
        centerText.color = clr;
    }
    
    Grid {
        anchors.left: parent.left;
        anchors.leftMargin: 4;
        anchors.bottom: parent.bottom;
        anchors.bottomMargin: 4;
        rows: 3;
        columns: 3;
        rowSpacing: 4;
        columnSpacing: 4;
        
        Rectangle {
            width: 50;
            height: 30;
            color: Qt.rgba(Math.random(), Math.random(), Math.random(), 1.0);
        }
 
        Rectangle {
            width: 50;
            height: 30;
            color: Qt.rgba(Math.random(), Math.random(), Math.random(), 1.0);
        }
 
        Rectangle {
            width: 50;
            height: 30;
            color: Qt.rgba(Math.random(), Math.random(), Math.random(), 1.0);
        }  
        
        Rectangle {
            width: 50;
            height: 30;
            color: Qt.rgba(Math.random(), Math.random(), Math.random(), 1.0);
        }
 
        Rectangle {
            width: 50;
            height: 30;
            color: Qt.rgba(Math.random(), Math.random(), Math.random(), 1.0);
        }
 
        Rectangle {
            width: 50;
            height: 30;
            color: Qt.rgba(Math.random(), Math.random(), Math.random(), 1.0);
        }        
        
        Rectangle {
            width: 50;
            height: 30;
            color: Qt.rgba(Math.random(), Math.random(), Math.random(), 1.0);
        }        
    }
}

■ Flow(流式定位器)

Flow元素会根据其宽度自动调整子元素的位置和换行方式。
无论子元素的宽度如何,Flow都会根据可用的空间进行动态排列。

属性描述
spacing:子元素之间的间距。可以设置为像素值或其他长度单位。
flow:子元素的流动方向,可选值为Flow.LeftToRight、Flow.RightToLeft、Flow.TopToBottom和Flow.BottomToTop。Layout.alignment:

** 示例一 **

    Flow {
        width: 300 // Flow布局的宽度
        spacing: 100

        Rectangle {
            width: 100
            height: 100
            color: "red"
        }

        Rectangle {
            width: 100
            height: 50
            color: "blue"
        }

        Rectangle {
            width: 100
            height: 120
            color: "green"
        }

        Text {
            text: "Flow Item"
        }
    }

** 示例二 **
在这里插入图片描述
在 Flow 对象生命内添加 “flow: Flow.TopToBottom;” 这行代码,再次执行 qmlscene flow_layout.qml ,效果如下图所示:
在这里插入图片描述

import QtQuick 2.0
import QtQuick.Controls 1.1
 
Rectangle {
    width: 360;
    height: 240;
    color: "#EEEEEE";
    id: rootItem;
 
    Text {
        id: centerText;
        text: "A Single Text.";
        anchors.horizontalCenter: parent.horizontalCenter;
        anchors.top: parent.top;
        font.pixelSize: 24;
        font.bold: true;
    }
 
    function setTextColor(clr){
        centerText.color = clr;
    }
 
    Flow {
        anchors.left: parent.left;
        anchors.leftMargin: 4;
        anchors.bottom: parent.bottom;
        anchors.bottomMargin: 4;
        width: 280;
        height: 130;
        spacing: 4;
 
        Rectangle {
            width: 80;
            height: 20;
            color: Qt.rgba(Math.random(), Math.random(), Math.random(), 1.0);
        }
 
        Rectangle {
            width: 100;
            height: 40;
            color: Qt.rgba(Math.random(), Math.random(), Math.random(), 1.0);
        }
 
        Rectangle {
            width: 50;
            height: 30;
            color: Qt.rgba(Math.random(), Math.random(), Math.random(), 1.0);
        }
 
        Rectangle {
            width: 80;
            height: 25;
            color: Qt.rgba(Math.random(), Math.random(), Math.random(), 1.0);
        }
 
        Rectangle {
            width: 35;
            height: 35;
            color: Qt.rgba(Math.random(), Math.random(), Math.random(), 1.0);
        }
 
        Rectangle {
            width: 20;
            height: 80;
            color: Qt.rgba(Math.random(), Math.random(), Math.random(), 1.0);
        }
 
        Rectangle {
            width: 50;
            height: 30;
            color: Qt.rgba(Math.random(), Math.random(), Math.random(), 1.0);
        }
    }
}

■ Layout Types 布局类型

Layout Types 的功能更加强大,更允许进一步细化或限制布局。
一般我都是使用的 Layout 这样更能适应屏幕大小.

  • 设置文本和其他项目的对齐方式
  • 自动调整并填充分配的应用程序区域
  • 设置尺寸约束,例如最小或最大尺寸
  • 设置布局中元素之间的间距

■ Layout 作用

Layout 本身其实不是参与到布局里面,主要是给GridLayout、RowLayout或ColumnLayout上的项提供附加属性。一个Layout类型的对象被附加到布局的子元素上,以提供关于 Item 的特定于布局的信息。
附加对象的属性会影响布局如何安排 Item 。

注意:不要在布局中绑定 Item 的x、y、width或height属性

import QtQuick 2.14
import QtQuick.Window 2.3
import QtQuick.Layouts 1.3

RowLayout {
    id: layout
    anchors.fill: parent
    spacing: 6
    Rectangle {
        color: "#93ba49"
        Layout.fillWidth: true
        Layout.minimumWidth: 50
        Layout.preferredWidth: 100
        Layout.maximumWidth: 300
        Layout.minimumHeight: 150
        Text {
            anchors.centerIn: parent
            text: parent.width + 'x' + parent.height
        }
    }
    Rectangle {
        color: "#518e4f"
        Layout.fillWidth: true
        Layout.minimumWidth: 100
        Layout.preferredWidth: 200
        Layout.preferredHeight: 100
        Text {
            anchors.centerIn: parent
            text: parent.width + 'x' + parent.height
        }
    }
}

在这里插入图片描述

■ RowLayout 行布局 💾

例子一:

import QtQuick 2.0
import QtQuick.Layouts 1.3
import QtQuick.Window 2.3
import QtQuick.Controls 2.5

Window{
    RowLayout{
        spacing: 2        
        anchors.fill: parent    
        Button{
            text: "添加"            
            Layout.alignment: Qt.AlignHCenter
        }     
        Button{
            text: "删除"            
            Layout.alignment: Qt.AlignHCenter
        }        
        Button{
            text: "修改"            
            Layout.alignment: Qt.AlignHCenter
        }        
        Button{
            text: "保存"            
            Layout.alignment: Qt.AlignHCenter
        }
    }
}

在这里插入图片描述
例子二:官方排列

import QtQuick 2.0
import QtQuick.Layouts 1.3
import QtQuick.Window 2.3

Window{
  RowLayout {
      id: layout
      anchors.fill: parent
      spacing: 6
      Rectangle {
          color: 'teal'
          Layout.fillWidth: true
          Layout.minimumWidth: 50
          Layout.preferredWidth: 100
          Layout.maximumWidth: 300
          Layout.minimumHeight: 150
          Text {
              anchors.centerIn: parent
              text: parent.width + 'x' + parent.height
          }
      }
      Rectangle {
          color: 'plum'
          Layout.fillWidth: true
          Layout.minimumWidth: 100
          Layout.preferredWidth: 200
          Layout.preferredHeight: 100
          Text {
              anchors.centerIn: parent
              text: parent.width + 'x' + parent.height
          }
      }
  }
}

在这里插入图片描述

■ ColumnLayout 列布局

例子一

import QtQuick 2.0
import QtQuick.Layouts 1.3
import QtQuick.Window 2.3
import QtQuick.Controls 2.5

Window{
    ColumnLayout{
        spacing: 2        
        anchors.fill: parent    
        Button{
            text: "添加"
            
            Layout.alignment: Qt.AlignHCenter
        }             
        Button{
            text: "删除"
            
            Layout.alignment: Qt.AlignHCenter
        }        
        Button{
            text: "修改"            
            Layout.alignment: Qt.AlignHCenter
        }        
        Button{
            text: "保存"            
            Layout.alignment: Qt.AlignHCenter
        }
    }
}

在这里插入图片描述

例子一 官方排列

import QtQuick 2.0
import QtQuick.Layouts 1.3
import QtQuick.Window 2.3

Window{
    ColumnLayout{
        spacing: 2        
        anchors.fill: parent    
        Rectangle {
            Layout.alignment: Qt.AlignCenter
            color: "red"
            Layout.preferredWidth: 40
            Layout.preferredHeight: 40
        }
    
        Rectangle {
            Layout.alignment: Qt.AlignRight
            color: "green"
            Layout.preferredWidth: 40
            Layout.preferredHeight: 70
        }
    
        Rectangle {
            Layout.alignment: Qt.AlignBottom
            Layout.fillHeight: true
            color: "blue"
            Layout.preferredWidth: 70
            Layout.preferredHeight: 40
        }
    }    
}

在这里插入图片描述

■ GridLayout 网格布局

网格布局,并根据需要自动调整子元素的大小和位置。

属性描述
spacing:行和列之间的间距。可以设置为像素值或其他长度单位。
flow子元素的流动方式,用于控制子元素在网格中的排列顺序,可选值为Grid.LeftToRight、Grid.RightToLeft、Grid.TopToBottom 和 Grid.BottomToTop。
Layout.alignment用于控制子元素在网格单元格内的对齐方式,如AlignHCenter、AlignTop等。

例子一

    Grid {
        columns: 4 // 列数
        spacing: 10 // 行和列之间的间距

        Rectangle {
            width: 100
            height: 100
            color: "red"
//            Grid.column: 0 // 子元素所在的列索引
//            Grid.row: 0    // 子元素所在的行索引
        }

        Text {
            text: "Item 2"
//            Grid.column: 1
//            Grid.row: 0
        }

//        Item {
//            width: 20
//            height: 50
            color: "blue"
            Grid.column: 0
            Grid.row: 1
            Grid.columnSpan: 3 // 横跨多列
//        }
        Text {
            text: "Item 2"
//            Grid.column: 1
//            Grid.row: 0
        }

        Rectangle {
            width: 50
            height: 50
            color: "green"
//            Grid.column: 2
//            Grid.row: 2
        }
    }

例子二

Grid {
    columns: 3
    spacing: 10
    flow: Grid.LeftToRight // 从左到右流动

    Rectangle {
        width: 100
        height: 100
        color: "red"
    }

    Text {
        text: "Item 2"
    }

    Rectangle {
        width: 150
        height: 150
        color: "green"
    }

    Text {
        text: "Item 4"
    }

    Rectangle {
        width: 200
        height: 50
        color: "blue"
    }

    Text {
        text: "Item 6"
    }
}

例子三

  GroupBox {
      id: gridBox
      title: "Grid layout"
      Layout.fillWidth: true

      GridLayout {
          id: gridLayout
          rows: 3
          flow: GridLayout.TopToBottom
          anchors.fill: parent
          Label { text: "Line 1" }
          Label { text: "Line 2" }
          Label { text: "Line 3" }

          TextField { }
          TextField { }
          TextField { }

          TextArea {
              text: "This widget spans over three rows in the GridLayout.\n"
                    + "All items in the GridLayout are implicitly positioned from top to bottom."
              Layout.rowSpan: 3
              Layout.fillHeight: true
              Layout.fillWidth: true
          }
      }
  }

在这里插入图片描述

■ StackLayout 堆布局

StackLayout 其实就是说,在同一个时刻里面,只有一个页面是展示出来的,类似QStackWidget 的功能,主要就是切换界面的功能。
这个类型我们可以通过设置currentIndex属性来修改当前可见的项。
索引对应于StackLayout子元素的顺序。

例子一:

import QtQuick 2.0
import QtQuick.Layouts 1.3
import QtQuick.Window 2.3
import QtQuick.Controls 2.5

Window {
    id: root
    visible: true
    width: 319
    height: 570
    title: qsTr("Hello World")
    ColumnLayout
    {
        anchors.fill: parent
        RowLayout
        {
            Layout.alignment: Qt.AlignHCenter
            Button{
                text: "首页"
                Layout.alignment: Qt.AlignHCenter
                onClicked:
                {
                    stackWig.currentIndex = 0;
                }
            }
            Button{
                text: "联系"
                Layout.alignment: Qt.AlignHCenter
                onClicked:
                {
                    stackWig.currentIndex = 1;
                }
            }
        }

        StackLayout
        {
            id:stackWig
            currentIndex: 0
            Rectangle
            {
                color: "#00B000"
                Text {
                    id: homePage
                    text: qsTr("首页")
                    anchors.verticalCenter: parent.verticalCenter
                    anchors.horizontalCenter: parent.horizontalCenter
                    verticalAlignment: Text.AlignVCenter
                    horizontalAlignment: Qt.AlignHCenter
                }
            }

            Rectangle
            {
                id: rectangle
                color: "steelblue"
                Text {
                    id: contactPage
                    text: qsTr("联系")
                    anchors.verticalCenter: parent.verticalCenter
                    anchors.horizontalCenter: parent.horizontalCenter
                    verticalAlignment: Text.AlignVCenter
                    horizontalAlignment: Qt.AlignHCenter
                }
            }
        }
    }
}

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

打印各种形状

package org.example;public class Demo {public static void main(String[] args) {//打印长方形printDemo1();//打印有1定空隙的长方形printDemo2();//平行四边形printDemo3();//三角形printDemo4();//菱形printDemo5();//空心菱形printDemo6();}private static void printDe…

【JVM】垃圾回收理论

一、关于回收目标 在前面我们已经了解到,JVM的内存模型划分为多个区域,由于不同区域的实现机制以及功能不同,那么各自的回收目标也不同。一般来说,内存回收主要涉及以下三个区域: 虚拟机栈/本地方法栈:顾名…

Markdown之高频语法介绍(二十四)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

Ionic实战二十七:移动端录音方案及Nginx部署配置

文章目录 1.最终效果预览2.实现思路说明3.移动端外壳集成iframe4.视频页nginx配置5.组态页iframe集成6.组态页Nginx配置7.Nginx启动及关闭8.H5页面录音1.最终效果预览 2.实现思路说明 摄像头对接的海康的或者大华,将设备集成到青柿视频平台中,这样视频的播放用video标签即可…

promise的使用和实例方法

前言 异步,是任何编程都无法回避的话题。在promise出现之前,js中也有处理异步的方案,不过还没有专门的api能去处理链式的异步操作。所以,当大量的异步任务逐个执行,就变成了传说中的回调地狱。 function asyncFn(fn1, fn2, fn3) {setTimeout(() > {//处理第一个异步任务fn1…

12.26_黑马数据结构与算法笔记Java

目录 243 图 Floyd Warshall 算法实现2 244 图 Floyd Warshall 算法实现3 245 图 Floyd Warshall 算法实现4 246 图 最小生成树 Prim 247 图 最小生成树 Kruskal 248 图 并查集 1 249 图 并查集 2 250 图 并查集 路径压缩 251 图 并查集 UnionBySize 252 贪心算法 介绍…

vue3开发一个todo List

创建新的 Vue 3 项目: 按装vue3的 工具 npm install -g vue/cli创建一个新的 Vue 3 项目: vue create vue3-todolist进入项目目录: cd vue3-todolist代码: 在项目的 src/components 目录下,创建一个新的文件 Todo…

蓝桥杯c/c++程序设计——冶炼金属

冶炼金属 问题描述 小蓝有一个神奇的炉子用于将普通金属 O 冶炼成为一种特殊金属 X。这个炉子有一个称作转换率的属性 V,V 是一个正整数,这意味着消耗 V 个普通金属 O 恰好可以冶炼出一个特殊金属 X,当普通金属 O 的数目不足 V 时&#xff0…

基于yolov8,制作停车位计数器(附源码)

大家好,YOLO(You Only Look Once) 是由Joseph Redmon和Ali开发的一种对象检测和图像分割模型。 YOLO的第一个版本于2015年发布,由于其高速度和准确性,瞬间得到了广大AI爱好者的喜爱。 Ultralytics YOLOv8则是一款前沿、最先进(SOTA)的模型&a…

随记-语义分割

Semantic Segmentation 什么是语义分割全卷积网络FCN摘要 什么是语义分割 语义分割 Semantic Segmentation 旨在对图像的每个像素进行分类,将其分配给预定义的语义类别。 (检测图像中的物体并按属性分类) 实例分割 Instance Segmentation 实…

Vue框架引入Element-Ui

首先已经创建好了 Vue 框架,安装好了 node.js。 没有完成的可按照此博客搭建:搭建Vue项目 之后打开终端,使用命令。 1、命令引入 npm i element-ui -S2、package.json 查看版本 在 package.json 文件里可查看下载好的依赖版本。 3、在 ma…

按照不同产品类型,划片机主要可以分为如下几个类别

随着科技的不断发展,划片机在半导体封装行业中的应用越来越广泛。根据不同的产品类型,划片机主要可以分为砂轮划片机和激光划片机两个类别。本文将详细介绍这两类划片机的特点和应用。 一、砂轮划片机 砂轮划片机是综合了水气电、空气静压高速主轴、精密…

【Vulnhub 靶场】【Funbox: Scriptkiddie】【非常简单】【20210720】

1、环境介绍 靶场介绍:https://www.vulnhub.com/entry/funbox-scriptkiddie,725/ 靶场下载:https://download.vulnhub.com/funbox/Funbox11.ova 靶场难度:简单 发布日期:2021年07月20日 文件大小:1.3 GB 靶场作者&…

Windows无法安装edge 无法连接Internet

如果出现以上问题,或者Edge浏览器无法更新,提示防火墙错误之类的都可以解决问题。 下载以下证书文件并导入即可解决问题。 MicrosoftRootCertificateAuthority2011.cer

《PCI Express体系结构导读》随记 —— 第I篇 第1章 PCI总线的基本知识(4)

接前一篇文章:《PCI Express体系结构导读》随记 —— 第I篇 第1章 PCI总线的基本知识(3) 1.1 PCI总线的组成 PCI总线作为处理器系统的本地总线,是处理器系统的一个组成部件。因此,讲述PCI总线的组成结构,不…

DataFunSummit:2023年数据湖架构峰会-核心PPT资料下载

一、峰会简介 现今,很多企业每天都有PB级的数据注入到大数据平台,经过离线或实时的ETL建模后,提供给下游的分析、推荐及预测等场景使用。面对如此大规模的数据,无论是分析型场景、流批一体、增量数仓都得益于湖仓一体等数据湖技术…

RocketMQ文件准备

1、RocketMQ下载 下载地址:下载 | RocketMQ Source下载与Binary下载区别: binary是编译好的可以直接使用,source是还没编译过的源代码,需要自行编译。 这里大家自行下载需要的版本 2、RocketMQ管理界面 因为Rocket没有图形化管理…

渗透测试 | 信息收集常用方法总结

目录 一、关于域名 1.子域名收集 a.搜索引擎查找 b.在线查询 c.工具 d.SSL/TLS证书查询 2.端口型站点收集 3.目录文件扫描 a.目录扫描工具 b.github搜索 c.google搜索 d.在线网站 e.文件接口工具 4.旁站和C段 a.旁站查询 b.C段查询 5.网站技术架构信息 a.基础…

重磅!这本SCI期刊已解除「On hold」,另有Top期刊仍被调查中

近期小编在Master Journal List上查询期刊时偶然发现,此前被标记为「On Hold」的SCI期刊Biomass Conversion and Biorefinery,已经被科睿唯安取消了「On Hold」标识! 查询网址:https://mjl.clarivate.com/home 此前期刊处于「On …

【Petalinux】制作SD卡 操作系统 启动

Vivado 添加 SD0 导出hdf 制作SD卡 https://mathd.blog.csdn.net/article/details/135217761 【Petalinux】下为空白SD卡建立BOOT,rootfs分区 Petalinux 生成 Petalinux 框架 petalinux-create --type project --template zynq --name sdtest进入 sdtest 文件…