常用控件(三)

輸入類控件

  • QLineEdit
  • QTextEdit
  • QComboBox
  • QSpinBox
  • QDateTimeEdit
  • QDial
  • QSlider

QLineEdit

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

核心屬性:

屬性說明
text輸入框中的文本
inputMask輸入內容格式約束
maxLength最大長度
frame是否添加邊框
echoMode顯示方式: 1. QLineEdit::Normal: 這是默認值,文本框會顯示輸入的文本。2. QLineEdit::Password: 這種模式下,輸入的字符會被隱藏,通常使用(*)或(=)來替換 3. QLineEdit::NoEcho: 這種模式下,文本框不會回顯任何輸入的字符
cursorPosition光標所在位置
alignment文字對齊方式,設置水平和垂直方式的對齊
dragEnabled是否允許拖拽
readOnly是否是只讀的(不允許修改)
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是新的?本。代碼對?本的修改不能觸發這個信號.

eg1: 使用QLineEdit控件來錄入用戶信息,并且將用戶信息打印在控制臺:
在這里插入圖片描述
當我們點擊確認的時候,就能夠在控制臺打印接收到的消息
核心代碼:
在這里插入圖片描述
在這里插入圖片描述
運行結果:
在這里插入圖片描述

eg2:使用驗證器來對輸入的內容進行驗證,當驗證通過時,則將提交按鈕設置為可點擊,反之則將提交按鈕設置為不可點擊;
設計思路:
當輸入框中的內容發生變化的時候,QLineEdit會發出textEdited信號,并且這個信號還會攜帶上此時輸入框中的內容,此時我們可以捕捉這個信號,然后在對應的槽函數中使用驗證器來對輸入框中的內容進行驗證,驗證通過則將提交按鈕設置為可用狀態,否則則將提交按鈕設置為禁用狀態;
這個驗證器Qt,主要有以下幾種:
在這里插入圖片描述
針對于驗證器,我們可以將這個驗證器設置進QLineEdit然后進行使用,也可以每次捕捉textEdited信號的時候創建出來使用,這里我們選擇第一種做法;
核心代碼如下:
在這里插入圖片描述
運行結果:
在這里插入圖片描述

eg3:驗證兩次輸入的密碼一致
核心代碼:
在這里插入圖片描述
在這里插入圖片描述
eg4: 切換顯示密碼
在這里插入圖片描述
核心代碼:
在這里插入圖片描述
在這里插入圖片描述

QTextEdit

QTextEdit表示多行輸入框,也是一個富文本編輯器,并且能夠在內容超范圍時自動提供滾動條;

核心屬性:

屬性說明
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)?本被選中/取消選中時觸發

eg1:獲取多行輸入框的內容
在這里插入圖片描述

核心代碼:
在這里插入圖片描述
運行結果
在這里插入圖片描述
eg2:驗證輸入框的各種信號
在這里插入圖片描述

QComboBox

QComboBox表示下拉框;

核心屬性:

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

核心信號:

信號說明
activated(int)當??選擇了?個選項時發出.
activated(const QString & text)當??選擇了?個選項時發出
currentIndexChanged(int)當前選項改變時發出.
currentIndexChanged(const QString & text)當前選項改變時發出
editTextChanged(const QString & text)當編輯框中的?本改變時發出(editable 為 true 時有效)

eg1: 使用下拉框模擬麥當勞點餐
在這里插入圖片描述

核心代碼:
在這里插入圖片描述
運行結果:
在這里插入圖片描述
eg2:從?件中加載下拉框的選項
在這里插入圖片描述
設計圖:
在這里插入圖片描述
核心代碼:
在這里插入圖片描述

運行結果:
在這里插入圖片描述

QSpinBox

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

核心屬性

屬性說明
value存儲的數值.
singleStep每次調整的 “步?”. 按下?次按鈕數據變化多少.
displayInteger數字的進制. 例如 displayInteger 設為 10, 則是按照 10 進制表?. 設為 2 則為 2進制表?.
minimum最?值
maximum最?值
suffix后綴
prefix前綴
wrapping是否允許換?
frame是否帶邊框
alignment?字對??式.
readOnly是否允許修改
buttonSymbol按鈕上的圖標.UpDownArrows 上下箭頭形式;PlusMinus 加減號形式;NoButtons 沒有按鈕
accelerated (加速的)按下按鈕時是否為快速調整模式
correctionMode輸?有誤時如何修正.QAbstractSpinBox::CorrectToPreviousValue : 如果??輸?了?個?效的值(例如,在只能顯?正整數的SpinBox中輸?了負數),那么SpinBox會恢復為上?個有效值。例如,如果SpinBox的初始值是1,??輸?了-1(?效),然后SpinBox會恢復為1。QAbstractSpinBox::CorrectToNearestValue : 如果??輸?了?個?效的值,SpinBox會恢復為最接近的有效值。例如,如果SpinBox的初始值是1,??輸?了-1(?效),那么SpinBox會恢復為0。
keyboardTrack是否開啟鍵盤跟蹤.設為 true, 每次在輸?框輸??個數字, 都會觸發?次 valueChanged() 和textChanged() 信號.設為 false, 只有在最終按下 enter 或者輸?框失去焦點, 才會觸發valueChanged() 和 textChanged() 信號.

核心信號

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

eg1:調整?當勞購物?中的份數.
設計圖紙:
在這里插入圖片描述
核心代碼:
在這里插入圖片描述
運行結果:
在這里插入圖片描述

QDateTimeEdit

在這里插入圖片描述

核心屬性:

屬性說明
dateTime時間?期的值. 形如 2000/1/1 0:00:00
date單純?期的值. 形如 2001/1/1
time單純時間的值. 形如 0:00:00
displayFormat時間?期格式. 形如 yyyy/M/d H:mm; y 表?年份; M 表??份; d 表??期; H 表??時; m 表?分鐘; s 表?秒
minimumDateTime最?時間?期
maximumDateTime最?時間?期
timeSpecQt::LocalTime :顯?本地時間。Qt::UTC :顯?協調世界時(UTC)。Qt::OffsetFromUTC :顯?相對于UTC的偏移量(時差).

核心信號:

信號說明
dateChanged(QDate)?期改變時觸發.
timeChanged(QTime)時間改變時觸發.
dateTimeChanged(QDateTime)時間?期任意?個改變時觸發.

eg1:編寫一個日期計算器
在這里插入圖片描述

核心代碼:
在這里插入圖片描述
運行結果:
在這里插入圖片描述

QDial

旋紐

核心屬性:

屬性說明
value持有的數值.
minimum最?值
maximum最?值
singleStep按下?向鍵的時候改變的步?.
pageStep按下 pageUp / pageDown 的時候改變的步?.
sliderPosition界?上旋鈕顯?的 初始位置
tracking外觀是否會跟蹤數值變化.默認值為 true. ?般不需要修改.
wrapping是否允許循環調整.即數值如果超過最?值, 是否允許回到最?值.(調整過程能否 “套圈”)
notchesVisible是否顯? 刻度線
notchTarget刻度線之間的相對位置.數字越?, 刻度線越稀疏.

核心信號:

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

eg1:通過旋鈕來控制窗口透明度

在這里插入圖片描述

核心代碼:

在這里插入圖片描述
運行結果:
在這里插入圖片描述

QSlider

QSlider 表??個滑動條.

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

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

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

相關文章

推薦算法有哪些?——協同過濾、內容推薦、DNN、FM、DeepFM

推薦算法是機器學習和數據挖掘領域的一個重要研究方向,旨在向用戶或群體推薦可能感興趣的物品或信息。 以下是對您提到的幾種推薦算法的詳細介紹: 1. 協同過濾(Collaborative Filtering) 定義:協同過濾是一種基于用…

FOLANNIC FD31 UPS工作原理介紹

1.1簡介 FOLANNIC FD31系列UPS系工業級電廠型不間斷電源,是為重要負載提供不受電網干擾、穩壓、穩頻的電力供應的電源設備,在市電掉電后,UPS可給負載繼續提供一段時間供電,此系列UPS采用帶輸出隔離變壓器的高頻雙變換結…

鏈表---頭插法+尾插法

本博客介紹了單鏈表的實現,以及頭插法尾插法的代碼實現 1.定義一個結點類 class ListNode{int value;ListNode next;public ListNode(int value) {super();this.value value;}Overridepublic String toString() {return "ListNode{" "value" …

Windows部署MySQL環境

一、下載MySQL數據庫 進入官網:https://www.mysql.com 找到紅框位置,點擊DOWNLOADS頁面下翻,找到紅框位置并點擊進入(圖片右下方那個) 選擇紅框部分 這里按照紅框選擇的是離線安裝,之間點擊download即可&…

【史上最全面ESP32】軟件中斷與硬件中斷

文章目錄 前言硬件中斷硬件中斷概念硬件中斷的使用 軟件中斷軟件中斷概念軟件中斷的使用 總結 前言 ESP32是一款高度集成的芯片,具有強大的中斷處理能力。在ESP32中,我們可以配置所有的GPIO引腳作為硬件中斷源,通過附加它們到相應的中斷服務…

JFlash讀取和燒錄加密stm32程序

JFlash讀取和燒錄加密stm32程序 安裝后JFlash所在的目錄:C:\Program Files\SEGGER\JLink 一、燒寫加密程序 1、打開C:\Program Files\SEGGER\JLink目錄,找到JFlash.exe,雙擊它,就可以打開該執行程序。見下圖: 2、選擇“Create …

代碼隨想錄算法訓練營第三十天 | 01背包問題 二維 01背包問題 一維 416. 分割等和子集

46. 攜帶研究材料(第六期模擬筆試) 題目描述 小明是一位科學家,他需要參加一場重要的國際科學大會,以展示自己的最新研究成果。他需要帶一些研究材料,但是他的行李箱空間有限。這些研究材料包括實驗設備、文獻資料和…

無題:天選之子?

1. 從一個人說起:孤獨信 原名獨孤如愿,字期彌頭云中郡(今內蒙古自治區和林格爾縣)人,鮮卑族西魏、北周(南北朝)時期名將,八柱國之一北塞俊郎,容儀俊美,善于騎射獨孤側帽&#xff1a…

SQL語法(DQL):SELECT 多表查詢之子查詢

1、子查詢 定義:如果某一個SQL語句A包含了一個查詢Select語句B,稱B叫做子查詢,稱A叫做主查詢,A帶有子查詢語句目的:提高代碼復用性,間接提高代碼開發效率分類: 條件子查詢:將子查詢…

開發指南042-產生待辦

整個平臺待辦是統一處理的&#xff0c;各業務微服務需要產生待辦時調用系統API <dependency><groupId>org.qlm</groupId><artifactId>qlm-api</artifactId><version>1.0-SNAPSHOT</version> </dependency> Autowired privat…

Nature Renderer 2022(植被渲染工具插件)

渲染大量詳細的植被。 自然渲染器通過替換Unity的默認地形細節和樹系統來提高植被渲染的質量。一切都適用于現有數據:使用相同的草地、植被和樹木,并保留現有地形。我們只是升級您的渲染器。 Unity驗證的解決方案 Nature Renderer受到25000多名開發人員的信任,是Unity驗證的…

Llama-2 vs. Llama-3:利用微型基準測試(井字游戲)評估大模型

編者按&#xff1a; 如何更好地評估和比較不同版本的大語言模型&#xff1f;傳統的學術基準測試固然重要&#xff0c;但往往難以全面反映模型在實際應用場景中的表現。在此背景下&#xff0c;本文作者別出心裁&#xff0c;通過讓 Llama-2 和 Llama-3 模型進行井字游戲對決&…

【JavaScript腳本宇宙】無處不在的JavaScript庫:解析音視頻處理與實時通信技術

JavaScript庫大揭秘&#xff1a;音視頻、互動體驗與實時通信 前言 在當今互聯網時代&#xff0c;JavaScript已經成為前端開發中不可或缺的一部分。隨著Web技術的不斷發展&#xff0c;出現了許多優秀的JavaScript庫&#xff0c;為開發者提供了豐富的工具和資源。本文將介紹幾個…

STM32智能機器人手臂控制系統教程

目錄 引言環境準備智能機器人手臂控制系統基礎代碼實現&#xff1a;實現智能機器人手臂控制系統 4.1 數據采集模塊 4.2 數據處理與控制算法 4.3 通信與網絡系統實現 4.4 用戶界面與數據可視化應用場景&#xff1a;機器人手臂管理與優化問題解決方案與優化收尾與總結 1. 引言 …

Linux系統中磁盤管理LVM與掛載

Linux系統中磁盤管理LVM與掛載 本文以屬于Linux系統基本概念&#xff0c;如果以查找教程教程&#xff0c;解決問題為主&#xff0c;只需要查看本文后半部分。如需要系統性學習請查看本文前半部分。 本文操作極容易導致主機無法自動重啟&#xff0c;請慎重操作。操作前務必要進…

火熱夏季:浦語*書生InternLM大模型實戰闖關-入門島之Linux基礎知識

一、ssh鏈接與端口映射并運行hello_wold.py 1.創建開發機 InternStudio創建開發機 2.進入開發機 3.Ssh鏈接開發機 powerShell終端ssh鏈接開發機。 4.創建一個hello_world.py文件web demo 5.運行web demo 6.端口映射 7.本地瀏覽器打開web 二、 VSCODE 遠程連接開發機并創建一個…

【最強八股文 -- 計算機網絡】【快速版】TCP 與 UDP 頭部格式

目標端口和源端口: 應該把報文發給哪個進程包長度: UDP 首部的長度跟數據的長度之和校驗和: 為了提供可靠的 UDP 首部和數據而設計&#xff0c;接收方使用檢驗和來檢查該報文段中是否出現差錯 源端口號和目的端口號: 用于多路復用/分解來自或送到上層應用的數據。告訴主機報文段…

[機器學習]-人工智能對程序員的深遠影響——案例分析

機器學習和人工智能對未來程序員的深遠影響 目錄 機器學習和人工智能對未來程序員的深遠影響1. **自動化編碼任務**1.1 代碼生成1.2 自動調試1.3 測試自動化 2. **提升開發效率**2.1 智能建議2.2 項目管理 3. **改變編程范式**3.1 數據驅動開發 4. **職業發展的新機遇**4.1 AI工…

數字統計

import java.util.Scanner;// 注意類名必須為 Main, 不要有任何 package xxx 信息 public class Main {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的區別// 注意 while 處理多個 caseint a in.nextInt();i…

基于深度學習的點云平滑

基于深度學習的點云平滑是一種利用深度學習模型處理和優化三維點云數據以消除噪聲并提升平滑度的方法。該技術在自動駕駛、機器人導航、3D重建和計算機圖形學等領域有著廣泛應用。以下是關于這一領域的系統介紹&#xff1a; 1. 任務和目標 點云平滑的主要任務是從帶有噪聲和粗…