QT笔记00 记事本项目

news2024/11/26 14:23:36

 

 

 

 

QT GUI编程-CSDN博客

 

00:按键,对话框,垂直布局

包含内容:

按键,对话框,垂直布局的创建

#include <QPushButton>

#include <QVBoxLayout>

 

//普通按钮

QPushButton *bt_test;

//普通按钮示例
bt_test = new QPushButton("ok");
bt_test->setMinimumSize(200, 100);      //设置最小尺寸
bt_test->setFlat(true);                 //设置无边框
bt_test->setIconSize(QSize(80, 80));    //设置按钮图标大小
bt_test->setIcon(QIcon("car.png"));     //设置按钮图标

//垂直布局
QVBoxLayout *vbox = new QVBoxLayout;
vbox->addWidget(bt_test);
setLayout(vbox);

 

02:button 文本行 文本行输入数据提取  按键语音播报 打印输出

a65dbd13a9123d16664c562e666686a8.png

02:水平布局 || 网格状布局

 

 

 

 

ui布局类

 

背景设计

左边添加widget(窗口),右键编辑样式表,修改其设定(eg。颜色,点击三角框background-color)

 

 

窗体大小改变时,内部内容比例不改变,边框会留空

95d8701ad86f43b7bc903c80f46235fb.png

注意是针对竖直和水平的layout和widget的前提下其他会报错

 

Btn按下特效,静态特效等   和导入其美化图标

鼠标到此的悬浮特效

Selectors may contain pseudo-states that denote that restrict the application of the rule based on the widget's state. Pseudo-states appear at the end of the selector, with a colon (:) in between. For example, the following rule applies when the mouse hovers over a QPushButton:

QPushButton:hover { color: white }
Pseudo-states can be negated using the exclamation operator. For example, the following rule applies when the mouse does not hover over a QRadioButton:

QRadioButton:!hover { color: red }

按下特效:右键按键,修改样式

Pseudo-states can be chained, in which case a logical AND is implied. For example, the following rule applies to when the mouse hovers over a checked QCheckBox:

QPushButton :hover:pressed{ color: white }   注意是QPushButton

Pseudo-states can be chained, in which case a logical AND is implied. For example, the following rule applies to when the mouse hovers over a checked QCheckBox:

QCheckBox:hover:pressed { color: white }


静态特效:

QPushButton { color: red; background-color: white }//

导入其美化图标

首先把要导入的图片文件放到代码文件里来里面来(pro文件,explore。。。。)

右键工程文件夹,add new,QT resource file(资源文件),选择其对应的资源目录

然后添加(加不加前缀看自己),最后要是qrc文件盒资源文件在一个文件夹里

ctrl+s保存,到此ok

在ui界面,属性里windowicon,小光标,选择文件,使其对应

按键则是右键改变样式,然后添加资源

同理能在3种状态下来对应其资源图

 

 

添加槽

方式一:ui里        信号和槽编辑器         点'+'添加

 

方式二:ui里右键对象      转到槽  选择对应型号  后会自动转到发送此时间后要执行的函数

槽与信号连接方式

主要采用方式er

其余43.信号与槽的四种代码实现方式_哔哩哔哩_bilibili(connect函数)

 

 

1.按键按下加载提前设置的对应目录文件,并输出其内容

void MainWindow::on_BtnRead_clicked()
{
    //1.打开文件
    QFile file("E:/test.txt");
    if(!file.open(QIODevice::ReadOnly | QIODevice::Text))
    {
    qDebug()<<"file open error";
    }

    //2.读文件
    char context[100]={'\0'};
    if(!file.read(context,100)==-1)
    {
        qDebug()<<"file read error";
        return;
    }// 返回-1有问题就不显示输出文件
    else
    {
    //3.显示输出文件内容
        qDebug()<<"file open success";
        qDebug() <<context;
    }
}

 

2.按下按键出现  打开文件选择框,确认后读选定文件,输出其目录和内容

void MainWindow::on_pushButton_clicked()
{
   QString fileName = QFileDialog::getOpenFileName(this,
                                                    tr("Open Image"),
                                                   "E:",                                                        //默认打开的文件夹位置
                                                   tr("Text files (*.txt)"));//打开的文件类型eg."Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"
qDebug()<<fileName; //输出选择打开文件的文件名字

//1.打开文件
QFile file(fileName);//注意没有""
if(!file.open(QIODevice::ReadOnly | QIODevice::Text))
{
qDebug()<<"file open error";
}

//2.读文件
char context[100]={'\0'};//这里设置读的文本暂存大小
if(!file.read(context,100)==-1)
{
    qDebug()<<"file read error";
    return;
}// 返回-1有问题就不显示输出文件
else
{
//3.显示输出文件内容
    qDebug()<<"file read success";
    qDebug() <<context;
    file.close();//回收资源
}
}

 

3.按键按下 出现   选择框,可以多选文件

.........

 

4.//实现功能:打开选择任务栏  保存一个全新文件 并输出保存的地址到调试框

void MainWindow::on_pushButton_3_clicked()
{
    QString fileName = QFileDialog::getSaveFileName(this,  tr("Save File"),
                                                    "D:/tessst.txt",    //已开默认的保存地址
                                                    tr(" Text(*.txt *.doc )"));   //保存格式
    qDebug()<<fileName;
    QFile file;
    file.setFileName(fileName);
    if(!file.open(QIODevice::WriteOnly | QIODevice::Text))
    {
        qDebug()<<"file open error";
    }

    QTextStream out(&file);
    out.setCodec("UTF-8");
    out<<"Qdialog Write Data to the Txt File";
    file.close();
}

5.//实现功能:点击打开按键,打开txt文件,并输出到text文本框

void MainWindow::on_BtnOpean_clicked()
{
    std::cout<<"BtnOpen is chicked"<<std::endl;//输出数据

    QString fileName=QFileDialog::getOpenFileName(this,tr("Open file"),
                                                                                         "D:",
                                                                                        tr("Text(*.txt)"));//打开文件选择框

    ui->textEdit->clear();//对textEdit清屏
    QFile file;
    file.setFileName(fileName);
    if(!file.open(QIODevice::ReadOnly | QIODevice::Text)){
        qDebug()<<"file open error";
    }
    QTextStream in(&file);
    in.setCodec("UTF-8");

    while(!in.atEnd())
    {
        QString context =in.readLine();
        qDebug()<<qPrintable(context);//输出文件内容
        //ui->textEdit->setText(context);//    textEdit是文本对象名           每打开一个文件会覆盖,
        ui->textEdit->append(context);//每打开一个文件,它的内容会加在后面
    }
    file.close();
}

 

6.//实现功能:打开选择任务栏 另存为文本框内容为一个文件

void MainWindow::on_BtnSave_clicked()
{
    QString fileName=QFileDialog::getSaveFileName(this,tr("Save File"),
                                                                                        "D:new.txt",
                                                                                            tr("Text(*.txt*.doc)"));
    QFile file;
    file.setFileName(fileName);
    if(!file.open(QIODevice::WriteOnly|QIODevice::Text))
    {
        qDebug()<<"file open error";
    }

    QTextStream out(&file);
    out.setCodec("UTF-8");
    QString context=ui->textEdit->toPlainText();
    out<<context;//text内容保存到文件
    qDebug()<<context;//输出text内容
    file.close();
}

改进版看:11.

 

 

7.//实现功能:点击打开按键,打开txt文件,并输出到text文本框  加入更加下拉款选择调整打开的编码格式

1.先获取点击的 下拉框里分框的索引号和对应下拉框名字

在此处添加connect连接点击的信号和对应处理的槽函数

dfe5a8bcd5864e7a8d7edd91e2ba4558.png

声明自定义槽函数

8263bcd9c4e540f19b07f7ef0e7f0e17.png

最后定义它

void MainWindow::oncurrentIndexChanged(int index)
{
    qDebug()<<index;//输出索引号
         qDebug()<<ui->combox->currentText();//输出对应下拉框名字

}

8.在“打开”按键的槽函数里添加根据下拉框选择的编码格式来自动调整打开文件格式的  语句

 

QString str=ui->comboBox->currentText();//获取下拉框返回文字
const  char* c_str=str.toStdString().c_str();//将QString转化为char *c类型
in.setCodec(c_str);//设置文字对应的编码格式

 

整个打开按键的   槽函数:

//实现功能:点击打开按键,打开txt文件,并输出到text文本框  加入更加下拉款选择调整打开的编码格式
void MainWindow::on_BtnOpean_clicked()
{
    std::cout<<"BtnOpen is chicked"<<std::endl;//输出数据

    QString fileName=QFileDialog::getOpenFileName(this,tr("Open file"),
                                                                                         "D:",
                                                                                        tr("Text(*.txt)"));//打开文件选择框

    ui->textEdit->clear();//对textEdit清屏
    QFile file;
    file.setFileName(fileName);
    if(!file.open(QIODevice::ReadOnly | QIODevice::Text)){
        qDebug()<<"file open error";
    }
    QTextStream in(&file);
    
    QString str=ui->comboBox->currentText();//获取下拉框返回文字
    const  char* c_str=str.toStdString().c_str();//将QString转化为char *c类型
    in.setCodec(c_str);//设置文字对应的编码格式
  //  in.setCodec("UTF-8");

    while(!in.atEnd())
    {
        QString context =in.readLine();
        qDebug()<<qPrintable(context);//输出文件内容
        //ui->textEdit->setText(context);//    textEdit是文本对象名           每打开一个文件会覆盖,
        ui->textEdit->append(context);//每打开一个文件,它的内容会加在后面
    }
    file.close();
}

 

 

9.改进一点:在修改下拉框编码时,会自动重新打开文件,不需要再手动打开

定义一个全局变量存放打开文件的地址

bcb47a70164640e386baf598e55fa67c.png

在"打开"按键的槽函数里加上  保存打开文件地址到全局变量的语句

47b01779234d471eafa5995a32ac74f5.png

此槽函数原码

//实现功能:点击打开按键,打开txt文件,并输出到text文本框  加入更加下拉款选择调整打开的编码格式
void MainWindow::on_BtnOpean_clicked()
{
    std::cout<<"BtnOpen is chicked"<<std::endl;//输出数据

    QString fileName=QFileDialog::getOpenFileName(this,tr("Open file"),
                                                                                         "D:",
                                                                                        tr("Text(*.txt)"));//打开文件选择框
fileName_last=fileName;//每次打开文件都会用全局变量记录下来这个文件名

    ui->textEdit->clear();//对textEdit清屏
    QFile file;
    file.setFileName(fileName);
    if(!file.open(QIODevice::ReadOnly | QIODevice::Text)){
        qDebug()<<"file open error";
    }
    QTextStream in(&file);

    QString str=ui->comboBox->currentText();//获取下拉框返回文字
    const  char* c_str=str.toStdString().c_str();//将QString转化为char *c类型
        qDebug()<<"textshow by:"<<str;
    in.setCodec(c_str);//设置文字对应的编码格式
   //in.setCodec("UTF-8");

    //开始显示内容
    while(!in.atEnd())
    {
        QString context =in.readLine();
        qDebug()<<qPrintable(context);//输出文件内容
        //ui->textEdit->setText(context);//    textEdit是文本对象名           每打开一个文件会覆盖,
        ui->textEdit->append(context);//每打开一个文件,它的内容会加在后面
    }
    file.close();
}

 

因为是每次更改下拉框时,进行重新打开窗口显示所以核心代码要在下拉框的槽函数

 

void MainWindow::oncurrentIndexChanged(int index)
{
    qDebug()<<index;
    qDebug()<<ui->comboBox->currentText();//输出对应下拉框名字
    ui->textEdit->clear();
    QFile file;
    file.setFileName(fileName_last);//对应打开的文件地址
    if(file.open(QIODevice::ReadOnly | QIODevice::Text))
    {
        qDebug()<<fileName_last<<"is open";

        QTextStream in(&file);
        in.setCodec(ui->comboBox->currentText().toStdString().c_str()); //后面是吧currentText的toStdString部分转化为c_str格式
        qDebug()<<"textshow by:"<<ui->comboBox->currentText();
  //开始显示内容
        while(!in.atEnd())
        {
            QString context =in.readLine();
            qDebug()<<qPrintable(context);//输出文件内容
            //ui->textEdit->setText(context);//    textEdit是文本对象名           每打开一个文件会覆盖,
            ui->textEdit->append(context);//每打开一个文件,它的内容会加在后面
        }

        file.close();
        qDebug()<<fileName_last<<"is close";
    }
}

结果演示

 

 

 

 

10.窗口左上角文本设置

 

this->setWindowTitle("文本设置内容在这");

        使用场景1.在打开一个文件时,窗口实时更新其名字到窗口左上角

主要利用QString fileName来返回文件地址显示到左上角窗口标题

在读取文件后fileName有值在修改,确保无误

63fc88319ce44d5cb694222093a6aa29.png

总函数:

//实现功能:点击打开按键,打开txt文件,并输出到text文本框  加入更加下拉款选择调整打开的编码格式
//同时 实时更新左上角的标题名
void MainWindow::on_BtnOpean_clicked()
{
    std::cout<<"BtnOpen is chicked"<<std::endl;//输出数据

    QString fileName=QFileDialog::getOpenFileName(this,tr("Open file"),
                                                                                         "D:",
                                                                                        tr("Text(*.txt)"));//打开文件选择框
fileName_last=fileName;//每次打开文件都会用全局变量记录下来这个文件名

    ui->textEdit->clear();//对textEdit清屏
    QFile file;
    file.setFileName(fileName);
    if(!file.open(QIODevice::ReadOnly | QIODevice::Text)){
        qDebug()<<"file open error";
    }
    QTextStream in(&file);

    this->setWindowTitle(fileName+"记事本");//点击打开按键其读了文件时   实时修改左上窗口文字

    QString str=ui->comboBox->currentText();//获取下拉框返回文字
    const  char* c_str=str.toStdString().c_str();//将QString转化为char *c类型
        qDebug()<<"textshow by:"<<str;
    in.setCodec(c_str);//设置文字对应的编码格式
   //in.setCodec("UTF-8");

    //开始显示内容
    while(!in.atEnd())
    {
        QString context =in.readLine();
        qDebug()<<qPrintable(context);//输出文件内容
        //ui->textEdit->setText(context);//    textEdit是文本对象名           每打开一个文件会覆盖,
        ui->textEdit->append(context);//每打开一个文件,它的内容会加在后面
    }
    file.close();
}

                                结果:

423a9aae00f1408e8008a7a4b3c1159f.png

 

同理对应  关闭按键  就要恢复原样  :

        this->setWindowTitle("欢迎哥哥");//左上角文本框标题回复原样

窗口标题初始化设定在ui里面对应窗口选中的window Title

 

 

11.//实现功能:打开选择任务栏 另存为文本框内容为一个文件

且文件格式保存为目前选择的格式

由6.升级

 

主要利用

    QString str=ui->comboBox->currentText();//获取下拉框返回文字
    const  char* c_str=str.toStdString().c_str();//将QString转化为char *c类型
    out.setCodec(c_str);//设置保存格式   文字对应的下拉款选择编码格式

完成函数:

//实现功能:打开选择任务栏 另存为文本框内容为一个文件 且文件格式保存为目前选择的格式
void MainWindow::on_BtnSaveAs_clicked()
{
    QString fileName=QFileDialog::getSaveFileName(this,tr("Save File"),
                                                                                        "D:new.txt",
                                                                                            tr("Text(*.txt*.doc)"));
    QFile file;
    file.setFileName(fileName);
    if(!file.open(QIODevice::WriteOnly|QIODevice::Text))
    {
        qDebug()<<"file open error";
    }



    QTextStream out(&file);

    QString str=ui->comboBox->currentText();//获取下拉框返回文字
    const  char* c_str=str.toStdString().c_str();//将QString转化为char *c类型
    out.setCodec(c_str);//设置保存格式   文字对应的下拉款选择编码格式

    QString context=ui->textEdit->toPlainText();
    out<<context;//text内容保存到文件
    qDebug()<<context;//输出text内容
    file.close();
}

 

12.//实现功能:保存文本框内容到当前文件  且文件格式保存为目前选择的格式

利用全局变量fileName_last和

    QString str=ui->comboBox->currentText();//获取下拉框返回文字
    const  char* c_str=str.toStdString().c_str();//将QString转化为char *c类型
    out.setCodec(c_str);//设置保存格式   文字对应的下拉款选择编码格式

完成函数:

//实现功能:保存文本框内容到当前文件  且文件格式保存为目前选择的格式
void MainWindow::on_BtnSave_clicked()
{
    QFile file;
    file.setFileName(fileName_last);
    if(!file.open(QIODevice::WriteOnly|QIODevice::Text))
    {
        qDebug()<<"file open error";
    }

    QTextStream out(&file);

    QString str=ui->comboBox->currentText();//获取下拉框返回文字
    const  char* c_str=str.toStdString().c_str();//将QString转化为char *c类型
    out.setCodec(c_str);//设置保存格式   文字对应的下拉款选择编码格式

    QString context=ui->textEdit->toPlainText();
    out<<context;//text内容保存到文件
    qDebug()<<context;//输出text内容
    file.close();
}

 

函数介绍

1.cout(打印输出)

#include<iostream>    
std::cout<<"Btn is chicked"<<std::endl;

2.弹窗

#include <QMessageBox>

 

简易弹窗:

QMessageBox msgBox;

msgBox.setText("clear is chicked");//弹窗内容

msgBox.exec();


updata版本:

731e76b289d44e67afadf6c8032abc1d.png

更详细的搜索QMessageBox

 

 

3.Qtime定时器

Qt扫盲-QTimer定时器理论总结-CSDN博客

对象控件介绍:

1.text文本框

ui->textEdit->clear();//对textEdit清屏
        //ui->textEdit->setText(context);//    textEdit是文本对象名          覆盖后显示,
        ui->textEdit->append(context);//内容会加在后面

QString context=ui->textEdit->toPlainText();//读取文本框内容给QString变量 context

 

 

2.COMBO BOX 下拉框

 

槽函数介绍

void MainWindow::on_xxxxxxxx_currentIndexChanged(int index)//当前选中项发生变化进入

 

 

获取点击的 下拉框里分框的索引号和对应下拉框名字

在此处添加connect连接点击的信号和对应处理的槽函数

dfe5a8bcd5864e7a8d7edd91e2ba4558.png

声明自定义槽函数

8263bcd9c4e540f19b07f7ef0e7f0e17.png

最后定义它

void MainWindow::oncurrentIndexChanged(int index)
{
    qDebug()<<index;//输出索引号

         qDebug()<<ui->combox->currentText();//输出对应下拉框名字

}

 

 

 

3.QDoubleSpinBox

QDoubleSpinBox的使用示例-CSDN博客

4.QRadioButton

 

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

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

相关文章

Web应用框架-Django应用基础(2)

1.请求响应对象 1.1 请求对象HttpRequest测试 #hello\views def http_request(request):#1.获得请求方式print(request.method)#2.获得请求头信息#2.1 获取META中的请求头信息headers request.METAprint(headers)#2.2 获取请求头信息的内容ua request.META.get(HTTP_USER_AG…

PHP露营地管理小程序系统源码

&#x1f3d5;️露营新风尚&#xff01;露营地管理小程序系统&#xff0c;打造完美露营体验✨ &#x1f4cd;营地预订&#xff0c;轻松搞定&#x1f4c5; 想要逃离城市的喧嚣&#xff0c;享受大自然的宁静&#xff1f;露营地管理小程序系统让你的露营计划轻松实现&#xff01…

1 -《本地部署开源大模型》如何选择合适的硬件配置

如何选择合适的硬件配置 为了在本地有效部署和使用开源大模型&#xff0c;深入理解硬件与软件的需求至关重要。在硬件需求方面&#xff0c;关键是配置一台或多台高性能的个人计算机系统或租用配备了先进GPU的在线服务器&#xff0c;确保有足够的内存和存储空间来处理大数据和复…

后备电池、蓄电池在线监测系统-安科瑞黄安南

电池相关的概念 电池分类&#xff1a;后备电池、储能电池、动力电池 电池参数&#xff1a;电压、温度、内阻、充放电电流、SOC、SOH 行业背景 电池失效主要原因一 电池失效主要原因二 几乎所有的蓄电池故障都可以通过单体内阻增加检测出来。 内阻与容量的关系 内阻值横向比较 …

企业文件防泄密软件推荐|2024年8款好用的企业防泄密软件排行榜

在信息化时代&#xff0c;企业的数据安全越来越重要&#xff0c;防止敏感信息泄露成为了每个企业必须面对的挑战。为了有效保护企业文件、数据和知识产权&#xff0c;许多企业选择部署防泄密&#xff08;DLP&#xff0c;Data Loss Prevention&#xff09;软件。这些工具不仅可以…

MR30 IO模块——助力污水处理厂高效运营

在环境保护日益受到重视的今天&#xff0c;污水处理厂作为水资源循环利用的重要环节&#xff0c;其运营效率和处理效果直接关系到水资源的可持续利用和生态环境保护。然而&#xff0c;传统水处理设施普遍面临自动化程度低、管理难度大、能耗高、故障率高等问题&#xff0c;严重…

期权懂|期权市场中看涨期权合约的盈利怎么算?

本期让我懂 你就懂的期权懂带大家来了解&#xff0c;股票下跌时可以使用期权止损吗&#xff1f;有兴趣的朋友可以看一下。期权小懂每日分享期权知识&#xff0c;帮助期权新手及时有效地掌握即市趋势与新资讯&#xff01; 期权市场中看涨期权合约的盈利怎么算&#xff1f; 看涨期…

C++学习实例:入门,了解其输入输出

1、字母转换—题目描述 输入一个小写字母&#xff0c;输出其对应的大写字母。例如输入 q[回车] 时&#xff0c;会输出 Q。 输入格式 无 输出格式 无 输入输出样例 输入 #1 q 输出 #1 Q #include<bits/stdc.h> #include<cctype> using namespace std; in…

蘑菇分类识别数据集(猫脸码客 第222期)

蘑菇分类识别文本/图像数据集 蘑菇&#xff0c;作为一种广泛分布于全球的真菌&#xff0c;隶属于伞菌目伞菌亚门蘑菇科蘑菇属&#xff0c;拥有众多别名&#xff0c;如白蘑菇、洋蘑菇等。其不仅是世界上人工栽培最广泛、产量最高、消费量最大的食用菌品种之一&#xff0c;还在许…

International Symposium on Artificial Intelligence Innovations

计算机科学&#xff08;Computer Science&#xff09;&#xff1a; 算法、自动化软件工程、生物信息学和科学计算、计算机辅助设计、计算机动画、计算机体系结构、计算机建模、计算机网络、计算机安全、计算机图形学与图像处理、数据库与数据挖掘、数据压缩、数据加密、数字信号…

【渗透测试】-红日靶场-获取web服务器权限

拓扑图&#xff1a; 前置环境配置&#xff1a; Win 7 默认密码&#xff1a;hongrisec201 内网ip:192.168.52.143 打开虚拟网络编辑器 添加网络->VMent1->仅主机模式->子网ip:192.168.145.0 添加网卡&#xff1a; 虚拟机->设置-> 添加->网络适配器 保存&a…

C++ —— set系列的使用

目录 1. 序列式容器和关联式容器 2. set和multiset参考⽂档 3. set类的介绍 4. set的构造和迭代器 4.1 set的增删查 4.1.1 插入 4.1.2 查找 4.1.3 删除 5. multiset和set的差异 1. 序列式容器和关联式容器 前⾯我们已经接触过STL中的部分容器如&#xff1a;str…

【数据库设计】逻辑结构设计

E-R实体集的转换 概念结构设计之后就是对E-R图进行逻辑结构设计&#xff1a;即将E-R图转化成关系的过程。逻辑结构设计主要用于数据库管理系统上&#xff0c;为了让数据在计算机系统中更好地表示。 此设计过程用到的数据模型有&#xff1a;除了前面讲过的关系模型还有层次模型…

如何看一个flutter项目的具体flutter版本

查看pubspec.lock文件 这个项目实际运行的就是 flutter 3.16.6 版本的

详解Java之Spring MVC篇一

目录 Spring MVC 官方介绍 MVC RequestMapping 传递参数 无参数 单个参数 针对String类型 针对Integer类型 针对int类型 针对自定义类型 多个参数 参数重命名 参数强制一致 参数不强制一致 传递数组 ​编辑传递List ​编辑 传递JSON ​编辑 从路径中获取参…

你们想要的格姗导航网站终于开源了!

关注小格子的读者们&#xff0c;应该都知道&#xff0c;小格子自己做了一个导航网站。 通过这几天的代码和文档整理&#xff0c;决定把导航网站给大家开源。目前只开源基础版&#xff0c;大家可以根据此开源项目开发自定义导航。 格姗导航网站 一个基于 Spring Boot、MyBati…

文献阅读:通过深度神经网络联合建模多个切片构建3D整体生物体空间图谱

文献介绍 文献题目&#xff1a; 通过深度神经网络联合建模多个切片构建3D整体生物体空间图谱 研究团队&#xff1a; 杨灿&#xff08;香港科技大学&#xff09;、吴若昊&#xff08;香港科技大学&#xff09; 发表时间&#xff1a; 2023-10-19 发表期刊&#xff1a; Nature M…

Vs配置opencv库 实例,opencv选用4.9.0版本,vs版本是2022社版,学习笔记不断更新

课程链接 贾志刚老师opencv入门课程 备注&#xff1a;由于课程好几年前了&#xff0c;直接将环境配置为opencv4.9.0vs22 参考&#xff1a; 参考搭建环境 opencv下载环境&#xff1a;opencv vs22opencv4.9.0 创建一个文件夹 并修改下下面的目录&#xff0c;我的目录是F:\opencv…

LinkedList和链表之刷题课(上)

在上一节,我们自己实现了一个单链表的结构,接下来我们来写几个面试题巩固一下 1. 删除链表中等于给定val的所有结点 解析题目: 如图,我们需要删除所有的值为12的结点 在head非空的情况下,我们删除一个结点,首先要找到这个结点,然后把这个结点的前面一个结点的next指向这个节点…

neutron组件

1.实现虚拟交换机有两种方式 2.HCS网络节点 华为 HCS 将网络节点单独部署&#xff0c;且部署两台(主备部署) 两张万兆网卡&#xff0c;否则检测无法通过 L3 agent 部署在哪个节点&#xff0c;哪个节点就是网络节点 DHCP agent metadata agent 3.neutron概念 3.1Neutron支持…