【QT】控件二(輸入類控件、多元素控件、容器類控件與布局管理器)

文章目錄

  • 1.輸入類控件
    • 1.1 LineEdit
    • 1.2 Text Edit
    • 1.3 Combo Box
    • 1.4 SpinBox
    • 1.5 Date Edit & Time Edit
    • 1.6 Dial
    • 1.7 Slider
  • 2. 多元素控件
    • 2.1 List Widget
    • 2.2 Table Widget
    • 2.3 Tree Widget
  • 3. 容器類控件
    • 3.1 Group Box
    • 3.2 Tab Widget
  • 4. 布局管理器
    • 4.1 垂直布局
    • 4.2 水平布局
    • 4.3 網格布局
    • 4.4 表單布局
    • 4.5 Spacer

在這里插入圖片描述

1.輸入類控件

1.1 LineEdit

QLineEdit ?來表示單行輸?框,可以輸?一段文本,但是不能換行

核心屬性說明

屬性說明
text輸?框中的?本
inputMask輸?內容格式約束
maxLength最??度
frame是否添加邊框
echoMode顯??式。QLineEdit::Normal :這是默認值,?本框會顯?輸?的?本。 QLineEdit::Password :在這種模式下,輸?的字符會被隱藏,通常?星號(*)或等號(=)代替QLineEdit::NoEcho :在這種模式下,?本框不會顯?任何輸?的字符。
cursorPosition光標所在位置
alignment文字對齊方式,設置?平和垂直?向的對?
dragEnabled是否允許拖拽
readOnly是否是只讀的(不允許修改);類似于label
placeHolderText當輸?框內容為空的時候,顯示什么樣的提?信息
clearButtonEnabled是否會自動顯示出 “清除按鈕”

核心信號

信號說明
void cursorPositionChanged(int old, int new)?標移動時發出此信號,old為先前的位置,new為新位置
void editingFinished()當按返回或者回?鍵時,或者?編輯失去焦點時,發出此信號
void returnPressed()當返回或回?鍵按下時發出此信號. 如果設置了驗證器, 必須要驗證通過, 才能觸發.
void selectionChanged()選中的?本改變時,發出此信號
void textChanged(const QString &text)當QLineEdit中的?本改變時,發出此信號,text是新的?本。 代碼對?本的修改能夠觸發這個信號.
void textEdited(const QString &text))當QLineEdit中的?本改變時,發出此信號,text是新的?本。 代碼對?本的修改不能夠觸發這個信號
  1. 錄入個人信息的案例:

在這里插入圖片描述

  1. inputMask 只能進行簡單的輸?格式校驗,實際開發中,基于正則表達式的方式是更核心的方法,下面我們來看一下正則表達式

此處要求在輸?框中輸??個合法的電話號碼(1 開頭, 11 位, 全都是數字)。如果驗證不通過,則確定按鈕?法點擊

  • 使用 QRegExp 創建?個正則表達式對象. “^1\\d{10}$” 表? “以 1 開頭, 后?跟上任意的10個?進制數字”.
  • 使用 QRegExpValidator 創建?個驗證器對象. Qt 中內置了四個主要的驗證器對象
    在這里插入圖片描述

給 lineEdit 添加 textEdited 信號的 slot 函數

在這里插入圖片描述
執?程序,觀察效果,可以看到此時嘗試輸?字?是?法輸?的,并且只有當輸?的內容符合要求,確定按鈕才能被使?。

  1. 其它屬性:Alignment、MaxLength、槽函數

在這里插入圖片描述

  1. 切換顯示密碼

在這里插入圖片描述

1.2 Text Edit

QTextEdit 表示多行輸?框,也是?個富文本 & markdown 編輯器,并且能在內容超出編輯框范圍時?動提供滾動條。

屬性說明
markdown輸?框內持有的內容. ?持 markdown 格式. 能夠?動的對markdown ?本進?渲染成 html
html輸?框內持有的內容. 可以?持?部分 html 標簽. 包括 img 和 table 等
placeHolderText輸?框為空時提?的內容
readOnly是否是只讀的
undoRedoEnable是否開啟 undo / redo 功能。 按下 ctrl + z 觸發 undo;按下 ctrl + y 觸發 redo
autoFormating開啟?動格式化.
tabstopWidth按下縮進占多少空間
overwriteMode是否開啟覆蓋寫模式
acceptRichText是否接收富?本內容
verticalScrollBarPolicy垂直?向滾動條的出現策略 Qt::ScrollBarAsNeeded : 根據內容?動決定是否需要滾動條,這是默認值。 Qt::ScrollBarAlwaysOff : 總是關閉滾動條; Qt::ScrollBarAlwaysOn : 總是顯?滾動條
horizontalScrollBarPolicy?平?向滾動條的出現策略 Qt::ScrollBarAsNeeded : 根據內容?動決定是否需要滾動條,這是默認值。 Qt::ScrollBarAlwaysOff : 總是關閉滾動條。 Qt::ScrollBarAlwaysOn : 總是顯?滾動條。

核心信號:

信號說明
textChanged()?本內容改變時觸發
selectionChanged()選中范圍改變時觸發
cursorPositionChanged()光標移動時觸發
undoAvailable(bool)可以進? undo 操作時觸發
redoAvailable(bool)可以進? redo 操作時觸發
copyAvaiable(bool)?本被選中/取消選中時觸發
  1. 獲取多行輸入框的內容

在這里插入圖片描述

  1. 測試undo、redo、copy

在這里插入圖片描述

1.3 Combo Box

QCombo Box 表示下拉框

屬性說明
currentText當前選中的?本
currentIndex當前選中的條?下標,從 0 開始計算. 如果當前沒有條?被選中, 值為 -1
editable是否允許修改 設為 true 時, QComboBox 的?為就?常接近 QLineEdit ,也可以設置 validator
iconSize下拉框圖標 (?三?) 的大小
maxCount最多允許有多少個條?

核心方法

屬性說明
addItem(const QString&)添加?個條?
currentIndex()當前選中的條?下標,從 0 開始計算. 如果當前沒有條?被選中, 值為 -1
currentText()獲取當前條?的?本內容

核心信號

信號說明
activated(int)當??選擇了?個選項時發出(下標)
activated(const QString & text)當??選擇了?個選項時發出(內容)
currentIndexChanged(int)當前選項改變時發出
currentIndexChanged(const QString & text)此時??已經明確的選擇了?個選項
editTextChanged(const QString & text)當編輯框中的?本改變時發出 (editable 為 true 時有效)
  1. 下面我們使用下拉框,實現一個點餐案例

在這里插入圖片描述
很多時候下拉框的選項并非是固定的,而是通過讀取文件/讀取網絡獲取到的

  1. 從文件中讀取

創建文件,編寫選項,每個選項占?行

在這里插入圖片描述

  • Qt 中也提供了 QFile 實現讀寫?件的功能. 當然使? C++ 標準庫的 std::fstream 也是完全可以的.
  • 之所以存在兩套, 是因為 Qt 誕?較早 (1991 年左右), 此時 C++ 還沒有完成 “標準化” 的?作, C++ 標準庫這樣的概念?然也沒有誕?.
  • 因此 Qt 就??打造了?套庫, 實現了字符串, 容器, ?件操作, 多線程, ?絡操作, 定時器, 正則表達式等內容

1.4 SpinBox

使用 QSpinBox 或者 QDoubleSpinBox 表示 “微調框”,它是帶有按鈕的輸?框, 可以?來輸?整數/浮點數,通過點擊按鈕來修改數值大小

屬性說明
value存儲的數值
singleStep每次調整的 “步?”. 按下?次按鈕數據變化多少
displayInteger數字的進制. 例如 displayInteger 設為 10, 則是按照 10 進制表?. 設為 2 則為 2 進制表?
minimum、maximum最小值、最大值
wrapping是否允許換行
suffix、prefix后綴、前綴
buttonSymbol按鈕上的圖標。UpDownArrows 上下箭頭形式 PlusMinus 加減號形式 NoButtons 沒有按鈕
accelerated按下按鈕時是否為快速調整模式
correctionMode輸?有誤時如何修正。如果??輸?了?個?效的值,那么SpinBox會恢復為上?個有效值

核心信號

信號說明
textChanged(QString)微調框的?本發?改變時會觸發,參數 QString 帶有 前綴 和 后綴
valueChanged(int)微調框的?本發?改變時會觸發,參數 int 表?當前的數值

該控件較為簡單,就不過多贅述了
在這里插入圖片描述

1.5 Date Edit & Time Edit

在這里插入圖片描述
這?個控件?法?常相似,我們以 QDateTimeEdit 為例進?介紹

屬性說明
dateTime時間?期的值. 形如 2000/1/1 0:00:00
date單純?期的值. 形如 2001/1/1
time單純時間的值. 形如 0:00:00
displayFormat時間?期格式. 形如 yyyy/M/d H:mm::ss (這?的格式化符號的含義,不同語?/庫的設定規則是存在差異的)
minimumDateTime、maximumDateTime最小、最大時間日期
timeSpecQt::LocalTime :顯?本地時間、 Qt::UTC :顯?協調世界時(UTC)、Qt::OffsetFromUTC :顯?相對于UTC的偏移量(時差)

核心信號

信號說明
dateChanged(QDate)?期改變時觸發
timeChanged(QTime)時間改變時觸發
dateTimeChanged(QDateTime)時間?期任意?個改變時觸發.
  1. 案例:實現日期計算器
  • 使? daysTo 函數可以計算兩個?期的天數. time.daysTo(time2),使用time2-time1
  • 使? secsTo 函數可以計算兩個時間的秒數.
  • 通過 (秒數 / 3600) 換算成?時數, 再余上 24 得到零?個?時

在這里插入圖片描述

1.6 Dial

使用 QDial 表示?個 旋鈕

核心屬性

屬性說明
value持有的數值
minimum、maximum最小值、最大值
singleStep按下?向鍵的時候改變的步?
pageStep按下 pageUp / pageDown 的時候改變的步?
sliderPosition界面上旋鈕顯?的 初始位置
wrapping是否允許循環調整. 即數值如果超過最?值, 是否允許回到最?值. (調整過程能否 “套圈”)
value持有的數值
notchesVisible是否顯示刻度線
notchTarget刻度線之間的相對位置. 數字越?, 刻度線越稀疏.

核心信號

信號說明
valueChanged(int)數值改變時觸發
rangeChanged(int, int)范圍變化時觸發

使用旋鈕調整不透明度
在這里插入圖片描述

1.7 Slider

使用 QSlider 表示?個滑動條

QSlider 和 QDial 都是繼承? QAbstractSlider ,因此?法上基本相同.

下面值羅列一下Slider的核心屬性

屬性說明
sliderPosition滑動條顯?的 初始位置
tracking外觀是否會跟蹤數值變化. 默認值為 true. ?般不需要修改
orientation滑動條的?向是?平還是垂直
invertedAppearance是否要翻轉滑動條的?向
tickPosition刻度的位置
tickInterval刻度的密集程度
  1. 案例: 在界面上創建兩個滑動條,分別是水平和垂直滑動條,用來調整窗口大小

在這里插入圖片描述

  1. 通過自定義快捷鍵調整滑動條位置

設置 - 減小 value,設置 = 增加 value

默認情況下滑動條可以通過方向鍵或者 pageUp / pageDown 調整大小

在這里插入圖片描述

2. 多元素控件

Qt 中提供的多元素控件有:

  • QListWidget
  • QListView
  • QTableWidget
  • QTableView
  • QTreeWidget
  • QTreeView
  • QTableView 是基于 MVC 設計的控件,QTableView 自身不持有數據,使用 QTableView 的時候需要??創建?個 Model 對象 (比如 QStandardModel ),并且把 Model 和 QTableView 關聯起來,后續修改 Model 中的數據就會影響 QTableView 的顯示;修改 QTableView 的顯示也會影響到 Model 中的數據(雙向綁定).
  • QTableWidget 則是 QTableView 的子類,對 Model 進行了封裝,不需要用戶手動創建 Model 對象,直接就可以往 QTableWidget 中添加數據了

2.1 List Widget

使用 QListWidget 能夠顯示?個縱向的列表,其中的每個選項都可以被選中

核心屬性

屬性說明
currentRow當前被選中的是第幾行
count?共有多少?
sortingEnabled是否允許排序
isWrapping是否允許換?
itemAlignment元素的對??式
selectRectVisible被選中的元素矩形是否可?
spacing元素之間的間隔

核心方法

屬性說明
addItem(const QString& label)列表中添加元素
addItem(QListWidgetItem *item)列表中添加元素
currentItem()返回 QListWidgetItem* 表?當前選中的元素
setCurrentItem(QListWidgetItem* item)設置選中哪個元素
setCurrentRow(int row)設置選中第??的元素
insertItem(const QString& label, int row)在指定的位置插?元素
insertItem(QListWidgetItem *item, int row)在指定的位置插?元素
item(int row)返回 QListWidgetItem* 表?第 row ?的元素
takeItem(int row)刪除指定?的元素, 返回 QListWidgetItem* 表?是哪個元素被刪除了

還有核心信號這里就不羅列了

在上述介紹中,涉及到?個關鍵的類, QListWidgetItem,這個類表? QListWidget 中的?個元素.
核心方法如下,本質上就是?個 “文本+圖標” 構成的

方法說明
setFont設置字體
setIcon設置圖標
setHidden設置隱藏
setSizeHint設置尺?
setSelected設置是否選中
setText設置?本
setTextAlignment設置?本對??式

在界?上創建?個 ListView , 右鍵 => 變形為 => ListWidget

在這里插入圖片描述

2.2 Table Widget

核心方法
在這里插入圖片描述

  1. 創建表,設置表頭名稱

在這里插入圖片描述

  1. 增加行/列

在這里插入圖片描述

默認情況下,單元格中的內容直接就是可編輯的如果不想讓用戶編輯,可以設置 ui->tableWidget-> setEditTriggers(QAbstractItemView::NoEditTriggers);

2.3 Tree Widget

QTreeWidget 核心方法
在這里插入圖片描述

QTreeWidgetItem 核心方法

方法說明
addChild(QTreeWidgetItem* child)新增?節點
childCount()?節點的個數
child(int index)獲取指定下標的?節點. 返回 QTreeWidgetItem*
takeChild(int index)刪除對應下標的?節點
removeChild(QTreeWidgetItem* child)刪除對應的?節點
parent()獲取該元素的?節點

QTreeWidget 支持多列顯示,每一列都有一個從左到右的索引編號。索引從 0 開始,0 表示第一列,1 表示第二列,依此類推
在這里插入圖片描述

設置槽函數
在這里插入圖片描述

3. 容器類控件

3.1 Group Box

使用 QGroupBox 實現?個帶有標題的分組框,可以把其他的控件放到里面作為?組,這樣看起來能更好看?點.

可以把控件放到Group Box中,這些內部的控件的父元素就是這個Group Box了

核心屬性

方法說明
title分組框的標題
alignment分組框內部內容的對??式
checkable是否可選擇. 設為 true, 則在 title 前?會多出?個可勾選的部分
checked描述分組框的選擇狀態 (前提是 checkable 為 true)

在這里插入圖片描述

3.2 Tab Widget

使用 QTabWidget 實現?個帶有標簽頁控件,可以往??添加?些 widget. 進?步的就可以通過標簽頁來切換

核心屬性

方法說明
tabPosition標簽?所在的位置. North 上? South 下? West 左側 East 右側
currentIndex當前選中了第?個標簽? (從 0 開始計算)
currentTabText當前選中的標簽?的?本
currentTabName當前選中的標簽?的名字
currentTabIcon當前選中的標簽?的圖標
currentTabToolTip當前選中的標簽?的提?信息
tabsCloseable標簽?是否可以關閉
movable標簽?是否可以移動

核心信號

方法說明
currentChanged(int)在標簽?發?切換時觸發, 參數為被點擊的選項卡編號
tabBarClicked(int)在點擊選項卡的標簽條的時候觸發. 參數為被點擊的選項卡編號.
tabCloseRequest(int)在標簽?關閉時觸發,參數為被關閉的選項卡編號

在這里插入圖片描述
實現部分槽函數
在這里插入圖片描述

4. 布局管理器

之前使用 Qt 在界?上創建的控件,都是通過 “絕對定位” 的方式來設定的。也就是每個控件所在的位置,都需要計算坐標,最終通過 setGeometry 或者 move 方式擺放過去。

這種設定?式其實并不?便,尤其是界?如果內容?較多,不好計算。而且?個窗口大小往往是可以調整的, 按照絕對定位的?式,也?法自適應窗口大小。

因此 Qt 引? “布局管理器” (Layout) 機制來解決上述問題

4.1 垂直布局

使用 QVBoxLayout 表示垂直的布局管理器( V 是 vertical 的縮寫)

核心屬性

方法說明
layoutLeftMargin左側邊距
layoutRightMargin右側邊距
layoutTopMargin上?邊距
layoutBottomMargin下?邊距
layoutSpacing相鄰元素之間的間距

注意:Layout 只是?于界?布局,并沒有提供信號

在這里插入圖片描述
注意:?個 widget 只能包含?個 layout

通過 Qt Designer 創建的布局管理器,其實是先創建了?個 widget,設置過 geometry 屬性的,再把這個 layout 設置到這個 widget 中,此時的布局并不會隨著窗口大小的改變而改變

4.2 水平布局

核心屬性與垂直布局相同,這里就不贅述了

在這里插入圖片描述
使用嵌套布局

在這里插入圖片描述

4.3 網格布局

Qt 中還提供了 QGridLayout 用來實現網格布局的效果,可以達到 M * N 的這種網格的效果

核心屬性

方法說明
layoutLeftMargin左側邊距
layoutRightMargin右側邊距
layoutTopMargin上?邊距
layoutBottomMargin下?邊距
layoutHorizontalSpacing相鄰元素之間?平?向的間距
layoutVerticalSpacing相鄰元素之間垂直?向的間距
layoutRowStretch??向的拉伸系數
layoutColumnStretch列?向的拉伸系數

在這里插入圖片描述

設置行和列的時候,如果設置的是?個很?的值,但是這個值和上?個值之間并沒有其他的元素,那么并不會在中間騰出額外的空間

在這里插入圖片描述

另外,QGridLayout 也提供了 setRowStretch 設置?之間的拉伸系數,上述案例中,直接設置
setRowStretch 效果不明顯,因為每個按鈕的?度是固定的,需要把按鈕的垂直?向的 sizePolicy 屬性設置為
QSizePolicy::Expanding 盡可能填充滿布局管理器,才能看到效果.

使用 setSizePolicy 設置按鈕的尺?策略,可選的值如下:

  • QSizePolicy::Ignored : 忽略控件的尺?,不對布局產?影響。
  • QSizePolicy::Minimum : 控件的最?尺?為固定值,布局時不會超過該值。
  • QSizePolicy::Maximum : 控件的最?尺?為固定值,布局時不會?于該值。
  • QSizePolicy::Preferred : 控件的理想尺?為固定值,布局時會盡量接近該值。
  • QSizePolicy::Expanding : 控件的尺?可以根據空間調整,盡可能占據更多空間。
  • QSizePolicy::Shrinking : 控件的尺?可以根據空間調整,盡可能縮?以適應空間

在這里插入圖片描述

4.4 表單布局

上述的布局管理器之外,Qt 還提供了 QFormLayout,屬于是 QGridLayout 的特殊情況,專門用于實現兩列表單的布局。

這種表單布局多用于讓用戶填寫信息的場景,左側列為提示,右側列為輸?框

在這里插入圖片描述

4.5 Spacer

使?布局管理器的時候, 可能需要在控件之間, 添加?段空?. 就可以使? QSpacerItem 來表?.

方法說明
width寬度
height?度
hData?平?向的 sizePolicy
vData垂直?向的 sizePolicy

在這里插入圖片描述
在這里插入圖片描述

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

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

相關文章

【Docker基礎】Docker鏡像管理:docker pull詳解

目錄 1 Docker鏡像基礎概念 1.1 什么是Docker鏡像? 1.2 鏡像與容器的關系 1.3 鏡像倉庫(Registry) 2 docker pull命令詳解 2.1 基本語法 2.2 參數解釋 2.3 拉取鏡像的基本流程 2.4 鏡像分層結構解析 3 docker pull實戰指南 3.1 基本使用示例 3.2 指定鏡…

PixPin:一個強大且免費的截圖貼圖工具

PixPin 是一款國產免費的截圖工具,支持屏幕截圖、屏幕錄制(GIF)、文字識別(OCR)以及貼圖等功能。 高效截圖 PixPin 支持自由選擇或自動檢測窗口,自定義截圖區域,像素級精確捕捉,延時…

【測試報告】論壇系統

一、項目背景 1.1 測試目標及測試任務 測試目標旨在保障功能無漏洞、流程順暢,實現多端顯示交互一致,達成高并發場景下響應時間<2 秒等性能指標,抵御 SQL 注入等安全攻擊,提升 UI 易用性與提示友好度; 背…

30天pytorch從入門到熟練(day1)

一、總體工作思路 本項目采用“從零構建”的策略,系統性地開展了深度學習模型的開發與優化工作。其目標在于通過全流程自研方式,深入理解模型構建、訓練優化、推理部署的關鍵技術環節。整體路徑分為以下核心階段: 模型初步構建:以…

Subway Surfers Blast × 亞矩陣云手機:手游矩陣運營的終極變現方案

引爆全球:Subway Surfers Blast的流量紅利?? 隨著Sybo Games最新力作《Subway Surfers Blast》全球上線,這款休閑消除游戲迅速席卷各大應用商店榜單。對于手游推廣者而言,如何高效獲取這波流量紅利???亞矩陣云手機專業手游推…

mysql join的原理及過程

連接過程 每獲得一條驅動表記錄,就立即到被驅動表尋找匹配的記錄。 對于兩表連接來說,驅動表只會被訪問一遍,但被驅動表卻要被訪問好多遍;具體訪問幾遍取決于對驅動表執行單表查詢后的結果集中有多少條記錄。 ? 對于內連接來說&#xff0…

Hologres的EXPLAIN和EXPLAIN ANALYZE簡介

文章目錄 一、執行計劃1、概念簡介2、使用方式①、EXPLAIN②、EXPLAIN ANALYZE 二、算子解讀1、SCAN2、Index Scan和 Index Seek3、Filter4、Decode5、Redistribution6、Join7、Broadcast8、Shard prune和Shards selected9、ExecuteExternalSQL10、Aggregate11、Sort12、Limit1…

49-Oracle init.ora-PFILE-SPFILE-啟動參數轉換實操

一早出現EMCC掛了,之后發現EMCC依賴的instance 掛了,重啟startup后發現spfile無法啟動。還是和小伙伴把基礎問題搞清。spfile是動態文件、動態文件、動態文件,linux下vi看起來部分亂碼部分是可編輯的,vi即使可以編輯也需要轉換成p…

spring碎片

包的掃描過程 判斷當前是否是文件夾獲取文件夾里面的所有內容判斷文件夾是否為空,為空的話直接返回如果文件夾不為空,則遍歷文件夾里面的所有內容 遍歷得到每個file對象,繼續進行判斷,如果還是文件,則進一步進行遞歸遍歷得到的file對象不是文件夾,是文件得到包路徑類名稱-字符…

如何形成項目經驗在多個項目間的高效復用?

要實現項目經驗的跨項目高效復用,核心在于建立系統化總結機制、標準化知識表達、平臺化共享工具。其中,標準化知識表達尤為關鍵,它通過統一模板和分類體系,確保不同項目的經驗可以被快速理解、輕松匹配到新場景,從而提…

目標檢測之YOLOV11談談OBB

引言:從軸對齊到定向邊界框的范式轉變 在計算機視覺領域,目標檢測算法長期受限于軸對齊邊界框(AABB)的固有缺陷——當面對航拍圖像中的艦船、遙感影像中的建筑物或工業質檢中的傾斜零件時,傳統邊界框會包含大量背景噪…

Vue2之生命周期

文章目錄 Vue生命周期Vue生命周期鉤子生命周期鉤子小案例在created中獲取數據在mounted中獲取焦點 Vue生命周期 思考:什么時候可以發送初始化渲染請求?(越早越好)什么時候可以開始操作dom?(至少dom得渲染出…

Web 架構之多租戶(SaaS)系統設計要點

文章目錄 一、多租戶系統概述定義應用場景 二、設計要點1. 數據隔離獨立數據庫共享數據庫,獨立 Schema共享數據庫,共享 Schema數據訪問控制 2. 資源分配計算資源存儲資源 3. 租戶管理租戶注冊與注銷租戶信息管理 4. 安全與合規身份驗證與授權數據加密 三…

【Clickhouse系列】索引

目錄 1. 主鍵索引 (Primary Key Index) - 核心是稀疏索引 2. 跳數索引 (Data Skipping Indexes) - 二級索引 3. 關鍵總結與最佳實踐: ClickHouse的索引設計哲學與其他傳統OLTP數據庫(如MySQL)有顯著不同,它更側重于高效掃描大數…

445場周賽

第一題:檢查元素頻次是否為質數 給你一個整數數組 nums。 如果數組中任一元素的 頻次 是 質數,返回 true;否則,返回 false。 元素 x 的 頻次 是它在數組中出現的次數。 質數是一個大于 1 的自然數,并且只有兩個因數…

【SQL語法匯總】

讀音:MySQL —— 賣舌口 MySQL 實際上是DBMS軟件系統, 并非數據庫。通過系統管理維護數據庫,DBMS相當于用戶和數據庫之間的橋梁。 MySQL是一種關系型數據庫, 類似excel,用行和列的關系組織數據數據。 操作關系型數據庫的DBMS系統大多數用SQL來管理數據。 SQL是編程語言…

C++法則10:引用本身是一個“別名”(alias),一旦綁定到一個對象后,就不能再重新綁定到其他對象。

C法則10:引用本身是一個“別名”(alias),一旦綁定到一個對象后,就不能再重新綁定到其他對象。 在C中,引用(reference)是一個已存在對象的別名。一旦引用被初始化綁定到一個對象&…

PHP 生成當月日期

一:按日期順序排列的數組,而不是按周分組的二維數組 /*日期生成 *day: 日期數字 *date: 完整的日期字符串 (YYYY-MM-DD) *is_current_month: 是否屬于當前月份 *is_prev_month: 是否是上個月的日期 *is_next_month: 是否是下個月的日期 *is_today: 是否是…

vue3+elementPlus實現無縫滾動表格封裝

vue3+elementPlus+css+js 模擬liMarquee插件,實現無限滾動效果 功能:1、表格數據大于一定數量之后,開始向上滾動 2、當鼠標移入的時候,動畫停止,鼠標移出,繼續動畫 3、滾動動畫的速度可以自定義 4、表格的高度固定 5、向上滾動時,無限滾動,不存在卡頓 <template>…

AI賦能企業內訓:2025智能化教育培訓系統源碼開發全解析

從線下集中授課到線上碎片化學習&#xff0c;從被動灌輸到主動交互&#xff0c;越來越多企業開始關注“企業內訓系統”的智能化升級。而這一切的背后&#xff0c;離不開AI技術的深度賦能。 筆者認為&#xff0c;2025年將是企業內訓系統“從信息化走向智能化”的關鍵拐點。本篇…