QListWidget的函數,信號介紹

前言

Qt版本:6.8.0

該類用于列表模型/視圖

QListWidgetItem函數介紹

作用

在這里插入圖片描述

QListWidget是Qt框架中用于管理可交互列表項的核心組件,主要作用包括:

  1. 列表項管理
  • 支持動態添加/刪除項:addItem(), takeItem()
  • 批量操作:addItems()添加多個項
  • 排序功能:sortItems()自動排序
  1. 交互功能
# 創建列表控件
list_widget = QListWidget()# 添加圖標項
list_widget.addItem(QListWidgetItem(QIcon("icon.png"), "帶圖標的項"))# 信號處理
list_widget.itemClicked.connect(handle_click)
  1. 顯示控制
  • 支持多種視圖模式:setViewMode(QListView.IconMode)
  • 自定義項樣式:通過setItemWidget()嵌入自定義控件
  • 調整布局:setFlow(QListView.LeftToRight)控制排列方向
  1. 數據綁定
  • 直接存取項數據:item.text()
  • 關聯數據結構:setCurrentRow()同步選擇狀態

典型應用場景

  • 文件選擇列表
  • 配置選項面板
  • 聊天消息記錄
  • 可拖拽排序的任務列表

與QListView的區別在于:QListWidget提供了更簡便的item-based API,適合快速開發;而QListView需要配合Model/View架構,適合處理復雜數據關系。

公共函數

構造函數與析構函數

QListWidget(QWidget *parent = nullptr)
  • 功能:創建列表控件
  • 參數
    • parent:父窗口指針(可選)
  • 示例
    QListWidget *listWidget = new QListWidget(this);  // 創建列表控件
    
virtual ~QListWidget()
  • 功能:析構函數,釋放資源

基礎操作函數

void addItem(QListWidgetItem *item)
  • 功能:添加自定義項到列表末尾
  • 參數
    • item:要添加的列表項指針
  • 示例
    QListWidgetItem *item = new QListWidgetItem("New Item");
    listWidget->addItem(item);  // 添加項到列表末尾
    
void addItem(const QString &label)
  • 功能:直接通過文本添加項到列表末尾
  • 參數
    • label:項顯示的文本
  • 示例
    listWidget->addItem("Simple Item");  // 直接添加文本項
    
void addItems(const QStringList &labels)
  • 功能:批量添加多個文本項到列表末尾
  • 參數
    • labels:字符串列表
  • 示例
    QStringList items = {"Item1", "Item2", "Item3"};
    listWidget->addItems(items);  // 批量添加
    

編輯與查找

void closePersistentEditor(QListWidgetItem *item)
  • 功能:關閉項的持久編輯器
  • 參數
    • item:需要關閉編輯器的項
  • 示例
    listWidget->closePersistentEditor(item);  // 關閉指定項的編輯器
    
int count() const
  • 功能:返回列表項的個數
  • 返回值:整數型數量
  • 示例
    int total = listWidget->count();  // 獲取總項數
    
QListWidgetItem *currentItem() const
  • 功能:返回當前選中的項
  • 返回值:項指針(未選中時返回 nullptr
  • 示例
    QListWidgetItem *current = listWidget->currentItem();
    if (current) qDebug() << "當前選中項:" << current->text();
    
int currentRow() const
  • 功能:返回當前選中項的行號(從 0 開始)
  • 返回值:行號(未選中返回 -1)
  • 示例
    int row = listWidget->currentRow();  // 獲取當前行號
    

項管理

void editItem(QListWidgetItem *item)
  • 功能:啟動指定項的編輯模式
  • 參數
    • item:要編輯的項
  • 示例
    listWidget->editItem(item);  // 進入編輯模式
    
QList<QListWidgetItem *> findItems(const QString &text, Qt::MatchFlags flags) const
  • 功能:根據匹配規則查找項
  • 參數
    • text:要匹配的文本
    • flags:匹配規則(如 Qt::MatchExactly
  • 返回值:符合條件的項列表
  • 示例
    auto items = listWidget->findItems("Test", Qt::MatchContains);  // 查找包含"Test"的項
    
QModelIndex indexFromItem(const QListWidgetItem *item) const
  • 功能:獲取項的模型索引
  • 參數
    • item:目標項
  • 返回值:對應的 QModelIndex
  • 示例
    QModelIndex index = listWidget->indexFromItem(item);  // 獲取索引
    

插入與移除

void insertItem(int row, QListWidgetItem *item)
  • 功能:在指定行插入自定義項
  • 參數
    • row:插入位置(0-based)
    • item:要插入的項
  • 示例
    QListWidgetItem *newItem = new QListWidgetItem("Inserted");
    listWidget->insertItem(2, newItem);  // 插入到第三行
    
void insertItem(int row, const QString &label)
  • 功能:在指定行插入文本項
  • 參數
    • row:插入位置
    • label:項文本
  • 示例
    listWidget->insertItem(0, "First Item");  // 插入到第一行
    
void insertItems(int row, const QStringList &labels)
  • 功能:在指定行批量插入多個文本項
  • 參數
    • row:起始行號
    • labels:要插入的文本列表
  • 示例
    listWidget->insertItems(1, {"A", "B", "C"});  // 從第二行開始插入
    

狀態檢查

bool isPersistentEditorOpen(QListWidgetItem *item) const
  • 功能:檢查項是否處于持久編輯狀態
  • 返回值true 表示編輯器已打開
  • 示例
    if (listWidget->isPersistentEditorOpen(item)) {// 處理編輯器已打開的情況
    }
    
bool isSortingEnabled() const
  • 功能:檢查是否啟用了自動排序
  • 返回值true 表示啟用排序
  • 示例
    bool sorted = listWidget->isSortingEnabled();
    

項操作

QListWidgetItem *item(int row) const
  • 功能:獲取指定行的項
  • 參數
    • row:行號
  • 返回值:項指針(無效行返回 nullptr
  • 示例
    QListWidgetItem *item = listWidget->item(3);  // 獲取第四行的項
    
QListWidgetItem *itemAt(const QPoint &p) const
  • 功能:獲取指定坐標處的項(相對列表控件)
  • 參數
    • p:坐標點
  • 返回值:項指針(無項返回 nullptr
  • 示例
    QListWidgetItem *item = listWidget->itemAt(QPoint(50, 100));  // 獲取(50,100)處的項
    
QListWidgetItem *itemFromIndex(const QModelIndex &index) const
  • 功能:從模型索引獲取項
  • 參數
    • index:模型索引
  • 返回值:對應的項指針
  • 示例
    QListWidgetItem *item = listWidget->itemFromIndex(index);
    

部件管理

QWidget *itemWidget(QListWidgetItem *item) const
  • 功能:獲取項上設置的部件
  • 參數
    • item:目標項
  • 返回值:部件指針(未設置返回 nullptr
  • 示例
    QWidget *widget = listWidget->itemWidget(item);  // 獲取自定義部件
    
void openPersistentEditor(QListWidgetItem *item)
  • 功能:為項打開持久編輯器(始終可編輯)
  • 示例
    listWidget->openPersistentEditor(item);  // 啟用持久編輯
    
void removeItemWidget(QListWidgetItem *item)
  • 功能:移除項上的自定義部件
  • 示例
    listWidget->removeItemWidget(item);  // 移除部件
    

布局與選擇

int row(const QListWidgetItem *item) const
  • 功能:返回項的行號
  • 參數
    • item:目標項
  • 返回值:行號(無效項返回 -1)
  • 示例
    int row = listWidget->row(item);  // 獲取項的行號
    
QList<QListWidgetItem *> selectedItems() const
  • 功能:返回所有選中的項
  • 返回值:選中項列表
  • 示例
    auto selected = listWidget->selectedItems();  // 獲取所有選中項
    

設置當前項

void setCurrentItem(QListWidgetItem *item)
  • 功能:設置當前選中項
  • 參數
    • item:目標項
  • 示例
    listWidget->setCurrentItem(item);  // 選中指定項
    
void setCurrentItem(QListWidgetItem *item, QItemSelectionModel::SelectionFlags command)
  • 功能:帶選擇模式的設置當前項
  • 參數
    • item:目標項
    • command:選擇模式(如 QItemSelectionModel::Select
  • 示例
    listWidget->setCurrentItem(item, QItemSelectionModel::Toggle);  // 切換選中狀態
    

排序與清理

void setSortingEnabled(bool enable)
  • 功能:啟用/禁用自動排序
  • 參數
    • enabletrue 啟用排序
  • 示例
    listWidget->setSortingEnabled(true);  // 啟用自動排序
    
void sortItems(Qt::SortOrder order = Qt::AscendingOrder)
  • 功能:手動排序所有項
  • 參數
    • order:排序順序(升序/降序)
  • 示例
    listWidget->sortItems(Qt::DescendingOrder);  // 降序排列
    

其他功能

QListWidgetItem *takeItem(int row)
  • 功能:移除并返回指定行的項
  • 參數
    • row:行號
  • 返回值:被移除的項指針(需手動管理內存)
  • 示例
    QListWidgetItem *removed = listWidget->takeItem(2);  // 移除第三行項
    delete removed;  // 手動釋放內存
    
QRect visualItemRect(const QListWidgetItem *item) const
  • 功能:返回項在視圖中的可視區域
  • 示例
    QRect rect = listWidget->visualItemRect(item);  // 獲取項的位置和大小
    

重寫的函數

virtual void setSelectionModel(QItemSelectionModel *selectionModel) override
  • 功能:設置自定義選擇模型(高級用法)
  • 參數
    • selectionModel:自定義選擇模型
  • 注意:通常不需要直接使用

公共槽函數

void clear()
  • 功能:清空所有項
  • 示例
    listWidget->clear();  // 清空列表
    
void scrollToItem(const QListWidgetItem *item, QAbstractItemView::ScrollHint hint = EnsureVisible)
  • 功能:滾動到指定項
  • 參數
    • item:目標項
    • hint:滾動策略(如 PositionAtTop
  • 示例
    listWidget->scrollToItem(item, QAbstractItemView::PositionAtCenter);  // 滾動到項并居中
    

信號

1. void currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous)

  • 觸發時機:當前選中的項發生改變時(例如點擊新項、通過代碼設置選中項)
  • 參數
    • current:新選中的項指針(未選中時為 nullptr
    • previous:之前選中的項指針(首次選中時為 nullptr
  • 典型用途:跟蹤焦點項變化,更新界面狀態
  • 示例
    connect(listWidget, &QListWidget::currentItemChanged, [](QListWidgetItem *current, QListWidgetItem *prev) {if (current) qDebug() << "選中了:" << current->text();if (prev)    qDebug() << "取消選中:" << prev->text();
    });
    

2. void currentRowChanged(int currentRow)

  • 觸發時機:當前選中項的行號發生變化時
  • 參數
    • currentRow:新選中項的行號(從 0 開始,未選中時為 -1)
  • 典型用途:通過行號操作數據
  • 示例
    connect(listWidget, &QListWidget::currentRowChanged, [](int row) {qDebug() << "當前行號:" << row;});
    

3. void currentTextChanged(const QString &currentText)

  • 觸發時機:當前選中項的文本發生改變(包括切換選中項或直接修改項文本)
  • 參數
    • currentText:新選中項的文本內容(未選中時為空字符串)
  • 典型用途:實時監控選中項的文本變化
  • 示例
    connect(listWidget, &QListWidget::currentTextChanged, [](const QString &text) {qDebug() << "當前文本:" << text;});
    

4. void itemActivated(QListWidgetItem *item)

  • 觸發時機:用戶通過 雙擊回車鍵 激活項時
  • 參數
    • item:被激活的項指針
  • 典型用途:實現雙擊打開/執行操作
  • 示例
    connect(listWidget, &QListWidget::itemActivated, [](QListWidgetItem *item) {qDebug() << "激活項:" << item->text();});
    

5. void itemChanged(QListWidgetItem *item)

  • 觸發時機:項的 數據 發生改變(如文本、圖標、復選框狀態等)
  • 參數
    • item:被修改的項指針
  • 典型用途:同步數據到模型或數據庫
  • 示例
    connect(listWidget, &QListWidget::itemChanged, [](QListWidgetItem *item) {qDebug() << "項被修改:" << item->text();});
    

6. void itemClicked(QListWidgetItem *item)

  • 觸發時機:用戶 單擊 項時(即使項已被選中)
  • 參數
    • item:被點擊的項指針
  • 典型用途:實現點擊交互邏輯
  • 示例
    connect(listWidget, &QListWidget::itemClicked, [](QListWidgetItem *item) {qDebug() << "單擊了:" << item->text();});
    

7. void itemDoubleClicked(QListWidgetItem *item)

  • 觸發時機:用戶 雙擊 項時
  • 參數
    • item:被雙擊的項指針
  • 典型用途:快速執行操作(如打開文件)
  • 示例
    connect(listWidget, &QListWidget::itemDoubleClicked, [](QListWidgetItem *item) {openFile(item->text()); // 自定義函數});
    

8. void itemEntered(QListWidgetItem *item)

  • 觸發時機:鼠標 懸停進入 項的區域時
  • 參數
    • item:被懸停的項指針
  • 典型用途:顯示工具提示或高亮效果
  • 示例
    connect(listWidget, &QListWidget::itemEntered, [](QListWidgetItem *item) {QToolTip::showText(QCursor::pos(), item->text());});
    

9. void itemPressed(QListWidgetItem *item)

  • 觸發時機:用戶 按下鼠標按鈕 在項上時(在釋放前觸發)
  • 參數
    • item:被按下的項指針
  • 典型用途:實現拖拽操作的起點判斷
  • 示例
    connect(listWidget, &QListWidget::itemPressed, [](QListWidgetItem *item) {qDebug() << "按下項:" << item->text();});
    

10. void itemSelectionChanged()

  • 觸發時機:選中項集合發生改變時(適用于多選模式)
  • 參數:無
  • 典型用途:處理多選操作后的批量處理
  • 示例
    connect(listWidget, &QListWidget::itemSelectionChanged, [=]() {auto selected = listWidget->selectedItems();qDebug() << "已選中項數:" << selected.size();});
    

信號對比表

信號名稱觸發動作傳遞參數適用場景
currentItemChanged選中項改變新舊項指針焦點跟蹤
currentRowChanged選中行改變行號行號相關操作
currentTextChanged選中項文本變化新文本文本監控
itemActivated雙擊/回車激活被激活的項執行默認操作
itemChanged項數據修改被修改的項數據同步
itemClicked單擊項被點擊的項簡單交互
itemDoubleClicked雙擊項被雙擊的項快速操作
itemEntered鼠標懸停進入項區域被懸停的項提示信息
itemPressed按下鼠標按鈕被按下的項拖拽起點判斷
itemSelectionChanged選中項集合變化(多選模式)批量操作

使用建議

  1. 避免信號循環:在槽函數中修改項數據時,注意不要觸發自身信號(例如在 itemChanged 中再次修改項)
  2. 性能優化:對高頻信號(如 itemEntered)進行防抖處理
  3. 多選模式:使用 itemSelectionChanged 配合 selectedItems() 獲取所有選中項
  4. 數據同步:優先使用 itemChanged 而非 currentTextChanged 跟蹤數據變化,后者僅監控當前項

其他函數

在這里插入圖片描述

示例

#include <QApplication>
#include <QListWidget>
#include <QListWidgetItem>
#include <QIcon>
#include <QMessageBox>int main(int argc, char *argv[])
{QApplication app(argc, argv);// 創建 QListWidgetQListWidget listWidget;listWidget.setWindowTitle("QListWidgetItem 示例");listWidget.resize(400, 300);// 1. 添加普通文本項QListWidgetItem *item1 = new QListWidgetItem("普通文本項");listWidget.addItem(item1);// 2. 添加帶圖標和文本的項QIcon icon(":/icon.png"); // 請確保有合適的圖標資源QListWidgetItem *item2 = new QListWidgetItem(icon, "帶圖標的項");listWidget.addItem(item2);// 3. 添加帶復選框的項QListWidgetItem *item3 = new QListWidgetItem("帶復選框的項");item3->setFlags(item3->flags() | Qt::ItemIsUserCheckable);item3->setCheckState(Qt::Unchecked);listWidget.addItem(item3);// 4. 添加帶自定義數據、顏色和提示的項QListWidgetItem *item4 = new QListWidgetItem("自定義項");item4->setData(Qt::UserRole, 12345); // 存儲自定義數據item4->setBackground(Qt::yellow);item4->setForeground(Qt::blue);item4->setToolTip("這是一個帶有自定義數據和顏色的項");listWidget.addItem(item4);// 5. 添加只讀項QListWidgetItem *item5 = new QListWidgetItem("只讀項");item5->setFlags(item5->flags() & ~Qt::ItemIsEditable);listWidget.addItem(item5);// 6. 響應點擊,顯示項的詳細信息QObject::connect(&listWidget, &QListWidget::itemClicked, [&](QListWidgetItem *item){QString info;info += "文本: " + item->text() + "\n";info += "是否選中: " + QString(item->isSelected() ? "是" : "否") + "\n";info += "復選框狀態: ";if (item->flags() & Qt::ItemIsUserCheckable)info += (item->checkState() == Qt::Checked ? "已選中" : "未選中");elseinfo += "無";info += "\n";info += "自定義數據: " + item->data(Qt::UserRole).toString() + "\n";info += "提示: " + item->toolTip() + "\n";QMessageBox::information(&listWidget, "項信息", info);});listWidget.show();return app.exec();
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/906892.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/906892.shtml
英文地址,請注明出處:http://en.pswp.cn/news/906892.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ModbusRTU轉profibusDP網關與RAC400通訊報文解析

ModbusRTU轉profibusDP網關與RAC400通訊報文解析 在工業自動化領域&#xff0c;ModbusRTU和ProfibusDP是兩種常見的通信協議。ModbusRTU以其簡單、可靠、易于實現等特點&#xff0c;廣泛應用于各種工業設備之間的通信&#xff1b;而ProfibusDP則是一種高性能的現場總線標準&am…

Python容器

一、容器 1. 列表【】&#xff1a;有序可重復可混裝可修改 [元素1&#xff0c;元素2&#xff0c;元素3&#xff0c;...] ? 可以容納多個元素 ? 可以容納不同類型的元素&#xff08;混裝&#xff09; ? 數據是有序存儲的&#xff08;有下標序號&#xff09; ? 允許重復數…

webpack面試問題

一、核心概念 Webpack的構建流程是什么? 答案: 初始化:讀取配置,創建Compiler對象編譯:從入口文件開始,遞歸分析依賴關系,生成依賴圖模塊處理:調用Loader轉換模塊(如babel-loader)輸出:將處理后的模塊組合成Chunk,生成最終文件Loader和Plugin的區別? Loader:文件…

uniapp-商城-66-shop(2-品牌信息顯示,數據庫讀取的異步操作 放到vuex actions)

完成頁面的顯示&#xff0c;但是還需要進行修改&#xff0c;這里涉及到修改中的信息同步顯示。也會涉及到數據的讀取&#xff0c;修改和同步。 本文介紹了如何使用Vuex管理品牌數據&#xff0c;實現數據的同步顯示和修改。主要內容包括&#xff1a;1.將獲取品牌數據的異步操作封…

使用Pyinstaller打包python,全過程解析【2025最詳細】

一、如何使用 Pyinstaller 打包 Python 程序 1.打開終端 右鍵點擊文件夾空白處&#xff0c;選擇 打開于 > 打開終端 2.安裝 pyinstaller 在打開的終端中&#xff0c;輸入命令【pip install pyinstaller】 使用 Python 包管理工具 pip 來安裝 Pyinstaller。等待安裝過程結…

GPU加速Kubernetes集群助力音視頻轉碼與AI工作負載擴展

容器編排與GPU計算的結合&#xff0c;為追求性能優化的企業開辟了戰略轉型的新路徑 基于GPU的托管Kubernetes集群不僅是技術選擇&#xff0c;更是徹底改變企業處理高負載任務的戰略部署方式。 隨著人工智能和機器學習項目激增、實時數據處理需求的劇增&#xff0c;以及高性能媒…

LINUX 524 rsync+inotify 調試(問題1:指定端口無法同步/已通過;問題2:rsync.log文件中時間不顯示/已顯示)

怎么把java文件夾給傳過去了 rsync inotify 監控代碼實時傳輸調試 沒看到日志 這里面有了 rsync -e"ssh -p 3712" -av /root/app/java/ code192.168.235.100:/home/code/backup/java_backup/ 文件夾后面的/要加上 [rootlocalhost java]# cat /var/log/rsync.log…

Python入門手冊:條件判斷

條件判斷是編程中不可或缺的一部分&#xff0c;它允許程序根據不同的條件執行不同的代碼塊。Python提供了if、elif和else語句來實現條件判斷。通過這些語句&#xff0c;你可以控制程序的流程&#xff0c;使其能夠根據不同的情況做出相應的反應。本文將詳細介紹Python中的條件判…

x-cmd install | cargo-selector:優雅管理 Rust 項目二進制與示例,開發體驗升級

目錄 功能亮點安裝優勢特點適用場景總結 還在為 Rust 項目中眾多的二進制文件和示例而煩惱嗎&#xff1f;cargo-selector 讓你告別繁瑣的命令行&#xff0c;輕松選擇并運行目標程序&#xff01; 功能亮點 交互式選擇&#xff1a; 在終端中以交互方式瀏覽你的二進制文件和示例&…

Baklib知識中臺高效實踐路徑

知識中臺全周期構建路徑 Baklib在構建知識中臺全周期管理體系時&#xff0c;以知識價值轉化為核心導向&#xff0c;通過三階段遞進實現閉環運作。在知識采集階段&#xff0c;運用智能爬蟲與API接口技術&#xff0c;聚合分散在業務系統、文檔庫及溝通工具中的碎片化知識資產&am…

mapbox進階,手寫放大鏡功能

????? 主頁: gis分享者 ????? 感謝各位大佬 點贊?? 收藏? 留言?? 加關注?! ????? 收錄于專欄:mapbox 從入門到精通 文章目錄 一、??前言1.1 ??mapboxgl.Map 地圖對象1.1 ??mapboxgl.Map style屬性二、??手寫放大鏡功能1. ??實現思路2. ??…

康佳Java開發面試題及參考答案

面向對象三大特性是什么&#xff1f;請舉例說明多態。 面向對象編程&#xff08;OOP&#xff09;的三大核心特性是封裝、繼承和多態。封裝是將數據和操作數據的方法綁定在一起&#xff0c;并隱藏對象的內部實現細節&#xff1b;繼承允許一個類繼承另一個類的屬性和方法&#x…

Spark集群架構解析:核心組件與Standalone、YARN模式深度對比(AM,Container,Driver,Executor)

一、核心組件定義與關系拆解 1. ApplicationMaster&#xff08;AM&#xff09; 定義&#xff1a;YARN 框架中的應用管理器&#xff0c;每個應用程序&#xff08;如 Spark 作業&#xff09;對應一個 AM。職責&#xff1a; 向 YARN 的 ResourceManager 申請資源&#xff08;Con…

IS-IS報文

前言&#xff1a; IS-IS采用分層架構&#xff0c;所有Level-2和Level 1-2路由器構成了骨干區域&#xff0c;同一區域的Level-1路由器構成了普通區域IS-IS支持三種認證方式&#xff0c;分別是接口認證、區域認證、路由域認證IS-IS有四種報文類型&#xff0c;分別是IIH、CSNP、P…

【Flutter】多語言適配-波斯語RTL從右到左

前言 在多語言適配的時候&#xff0c;波斯語的顯示是從右到左的&#xff0c;需要針對一些控件進行單獨適配。 核心邏輯&#xff1a;根據語言動態設置 Directionality Widget build(BuildContext context) {final isRtl Localizations.localeOf(context).languageCode fa;r…

【VSCode】在遠程服務器Linux 系統 實現 Anaconda 安裝與下載

【遠程服務器】Anaconda 安裝與下載 一、 安裝Anaconda【方式一】直接在遠程服務器下載&#xff0c;通過 wget 命令:【方式二】在本地電腦下載&#xff0c;在同意 vscode上傳到服務器二、配置環境變量 本文基于 VSCode 進行遠程服務器的配置&#xff0c;VSCode 相關安裝可參考下…

【深度學習-Day 17】神經網絡的心臟:反向傳播算法全解析

Langchain系列文章目錄 01-玩轉LangChain&#xff1a;從模型調用到Prompt模板與輸出解析的完整指南 02-玩轉 LangChain Memory 模塊&#xff1a;四種記憶類型詳解及應用場景全覆蓋 03-全面掌握 LangChain&#xff1a;從核心鏈條構建到動態任務分配的實戰指南 04-玩轉 LangChai…

線性回歸神經網絡從0到1

1.線性方程和向量乘法 深度學習的基礎就是從線性回歸方程的理論進入的。簡單的線性回歸方程為 比如大家日常中買房子&#xff0c;價格受到哪些因素影響呢&#xff1f; 比如房齡、交通、是否是學區、有無配套超市、公園&#xff0c;這些基本是外部條件&#xff0c;內部條件諸如…

11|省下錢買顯卡,如何利用開源模型節約成本?

不知道課程上到這里&#xff0c;你賬戶里免費的5美元的額度還剩下多少了&#xff1f;如果你嘗試著完成我給的幾個數據集里的思考題&#xff0c;相信這個額度應該是不太夠用的。而ChatCompletion的接口&#xff0c;又需要傳入大量的上下文信息&#xff0c;實際消耗的Token數量其…

文章代碼|皮層/表皮特異性轉錄因子 bZIP89 的自然變異決定了玉米側根發育和抗旱能力

數據和材料可用性&#xff1a;評估本文結論所需的所有數據都包含在論文和/或補充材料中。本研究中的大量 RNA-seq 讀數存放在 NCBI 序列讀取檔案 &#xff08;www.ncbi.nlm.nih.gov/sra&#xff09; 中&#xff0c;登錄代碼為 SRP446501/PRJNA980895。scRNA-seq、DAP-seq 和 DN…