Qt中的多種輸出方式,信號與槽的基本使用

完成Hello World可以通過很多控件實現

如采用編輯框來完成hello world

?編輯框分為單行編輯框----QLineEdit

??????????和多行編輯框---QTextEdit

采用單行編輯框,創建項目后,展開forms文件夾,雙擊ui文件進入

qt designer設計頁面

找到line edit

拖到頁面中,雙擊進行文本輸入

運行后就能輸出hello world

輸出了一個文本框,可以進行修改

使用純代碼方式實現

在weight構造函數中引入一個QLineEdit類,插入對象樹,并設置文本,需引入頭文件

運行后就能輸出文本框和設置的內容

使用按鈕的方式實現helloworld

雙擊ui文件進入Qt Designer

使用push button,設置文本內容后,同樣可以進行文本輸出

并且可以進行點擊,若想通過點擊實現一定操作,使點擊具有反饋,就需要使用Qt中的信號槽機制

信號槽機制

?本質就是給按鈕的點擊操作關聯上一個處理函數,當用戶進行點擊的時候,就會執行這個處理函數

同樣是在weight的構造函數處實現

調用connet函數,將信號與槽綁定

ui->pushButton是指向ui文件中創建的控件,在Qt Designer中創建一個控件的時候就會為其分配一個objectName屬性,值是唯一的,可以進行修改,表示由誰發送信號

&QPushButton::clicked是一個信號,點擊按鈕時就會發送信號,表示發送什么信號

this表示由weight進行信號接收,表示由誰接收信號

&Weight::handleClick表示接收到信號后所調用的處理函數

在頭文件中進行處理函數的聲明

在cpp文件中實現函數的定義,實現點擊一次就切換內容,通過對button中的文本的判斷來實現隨著點擊發送信號,調用處理函數,內容進行切換?

為什么可以可以通過ui->pushButton的方式來訪問button的內容?

在創建按鈕時,自動在ui_widget.h----根據widget.ui文件生成的文件中包含一個QPushButton* pushButton成員,與Designer界面中設置的objectName值一致,在ui文件編譯時,會生成一個C++頭文件,其中會定義一個Ui::XXX的類,該類包含ui界面中的所有控件的成員變量

通過代碼實現QPushButton

在頭文件中包含QPushButton頭文件,將QPushButton設置為成員變量,聲明處理函數

在cpp文件中實現成員變量定義,文本設置,信號與槽連接,處理函數定義

純代碼版本和通過Qt Designer設置button的區別

純代碼需自己new一個QPushButton,將其設置為widget成員變量后,通過this指針直接訪問

而Designer的按鈕對象不需要進行new,new對象的操作是由Qt自動生成的,按鈕對象被作為ui對象中的一個成員變量進行訪問

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

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

相關文章

英語表達年代和世紀

英語表達年代和世紀 1. Century (世紀)1.1. Start and end of centuries 2. Decade (年代)2.1. Usage 3. 英語表達年代和世紀4. HomeworkReferences XXX0 年代指 XXX0 年 - XXX9 年的連續 10 年,例如 1760 年代指 1760 年至 1769 年這連續 10 年。 XX 世紀 X0 年代…

MySQL數據庫管理5

23.事務 1)事務:可以認為是做一件事情 需要多個SQL 要么同時成功 要么同時失敗 需求:銀行轉賬update 你的賬戶 把你的錢減少update 你朋友的賬戶 把他的錢增多?這兩個SQL不能只成功一個 要么都成功 要么都失敗那么 我們就需要用到事務了 它…

閉包和裝飾器

什么是閉包 閉包(Closure)是 Python 中一個非常重要的概念,它是一種特殊的函數對象,通常用于封裝和延遲計算某些值。以下是閉包的詳細定義和解釋: 1.閉包的定義 閉包是指一個函數對象,它不僅包含函數的代…

notepad++8.6.4安裝及細節

notepad8.6.4下載安裝(附安裝包) 一、安裝包下載1.1方法一:官網下載(點擊跳轉)1.2方法二:網盤鏈接分享8.6.4版本 二、安裝過程細節2.1這里的組件建議全部勾選。點擊“下一步”。2.2 勾選①:可以…

COZE通關指南:工作流與插件開發

前言 本文隸屬于專欄《AI Agent 通關指南》,該專欄為筆者原創,引用請注明來源,不足和錯誤之處請在評論區幫忙指出,謝謝! 本專欄目錄結構和參考文獻請見《AI Agent 通關指南》 正文 1. 平臺基礎介紹 ?? 1.1 COZE平臺概述 COZE平臺(coze.cn)是一個強大的AI應用開發平臺…

【Block總結】ENLTransformerBlock,高效非局部變換器塊|即插即用

1. 論文信息 標題: Perspective+ Unet: Enhancing Segmentation with Bi-Path Fusion and Efficient Non-Local Attention for Superior Receptive Fields論文地址: arXiv:2406.14052 2. 創新點 雙路徑編碼策略: 在編碼器階段引入雙路徑策略,結合傳統卷積和空洞卷積的結果,平…

【爬蟲】網易云音樂評論數據爬取

文章目錄 🍖 前言🎶一、抓取要求?二、代碼展示🏀三、運行結果🏆四、知識點提示 🍖 前言 【爬蟲】網易云音樂歌詞/評論數據爬取 🎶一、抓取要求 描述: 輸入歌曲的id,獲取對應歌曲的用戶評論信…

C++使用Qt Charts創建數據可視化圖表

Qt Charts 是一個強大的工具,用于創建直觀的數據可視化圖表。本文將通過一個具體的示例,展示如何使用 Qt Charts 創建一個包含多條數據序列、自定義坐標軸和隨機數據生成的圖表。 示例代碼解析 以下是一個完整的示例代碼,展示如何使用 Qt Ch…

TCP/IP五層協議

目錄 1. 五層模型結構 2. 各層核心功能與協議 (1) 應用層(Application Layer) (2) 傳輸層(Transport Layer) (3) 網絡層(Network Layer) (4) 數據鏈路層(Data Link Layer) (5…

【最新版】金媒婚戀系統v10.5最新穩定開源+原生前端小程序 PC端+安裝教程

一.系統簡介 1. 紅娘服務 紅娘服務模塊是該系統的一大特色。專業紅娘會通過分析用戶的個人資料和偏好, 為用戶提供精準的配對建議和個性化服務。用戶可以預約紅娘服務,通過紅娘的介入,提升配對成功率。 2. 相親活動 相親活動模塊用于組織和管…

吳恩達深度學習復盤(5)神經網絡的前向傳播TesorFlow與NumPy實現比對

數據結構差別 NumPy 和 TensorFlow 在數據表示上的差異展開,結合神經網絡實踐中的常見問題進行說明。以下是詳細解析: 一、簡介 數據表示的歷史背景 NumPy 是 Python 科學計算的基礎庫,早期設計為處理多維數組TensorFlow 由 Google Brain 團…

多元高斯分布函數

1、 n n n元向量 假設 n n n元隨機變量 X X X X [ X 1 , X 2 , ? , X i , ? , X n ] T μ [ μ 1 , μ 2 , ? , μ i , ? , μ n ] T σ [ σ 1 , σ 2 , ? , σ i , ? , σ n ] T X i ~ N ( μ i , σ i 2 ) \begin{split} X&[X_1,X_2,\cdots,X_i,\cdots ,X_n…

洞察 Linux 進程管理

一、進程和線程的概念 1.進程 (1)概念 進程是程序在操作系統中的一次執行過程,是系統進行資源分配和調度的基本單位。進程是程序的執行實例,擁有獨立的資源(如內存、文件描述符等)。每個進程在創建時會被…

PyTorch 實現圖像版多頭注意力(Multi-Head Attention)和自注意力(Self-Attention)

本文提供一個適用于圖像輸入的多頭注意力機制(Multi-Head Attention)PyTorch 實現,適用于 ViT、MAE 等視覺 Transformer 中的注意力計算。 模塊說明 輸入支持圖像格式 (B, C, H, W)內部轉換為序列 (B, N, C),其中 N H * W多頭注…

每日一題(小白)字符串娛樂篇16

分析題意可以了解到本題要求在一串字符串中找到所有組合起來排序遞增的字符串。我們可以默認所有字符在字符串中的上升序列是1,從第一個字符開始找,如果后面的字符大于前面的字符就說明這是一個上序列那么后面字符所在的數組加一,如果連接不上…

Ubuntu 22 Linux上部署DeepSeek R1保姆式操作詳解(Xinference方式)

一、安裝步驟 1.基礎環境安裝 安裝顯卡驅動、cuda,根據自己硬件情況查找相應編號,本篇不介紹這部分內容,只給出參考指令,詳情請讀者自行查閱互聯網其它參考資料。 sudo apt install nvidia-utils-565-server sudo apt install…

Immutable.js 完全指南:不可變數據的藝術與實踐

引言 在現代前端開發中,狀態管理是一個核心挑戰。隨著應用復雜度增加,如何高效、安全地管理應用狀態變得至關重要。Immutable.js 是 Facebook 推出的一個 JavaScript 庫,它提供了持久化不可變數據結構,可以幫助開發者更好地管理應…

字符串數據類型的基本運算

任務描述 本關任務:從后臺輸入任意三個字符串,求最大的字符串。 相關知識 字符串本身是存放在一塊連續的內存空間中,并以’\0’作為字符串的結束標記。 字符指針變量本身是一個變量,用于存放字符串的第 1 個字符的地址。 字符數…

Ubuntu 22.04 一鍵部署openManus

openManus 前言 OpenManus-RL,這是一個專注于基于強化學習(RL,例如 GRPO)的方法來優化大語言模型(LLM)智能體的開源項目,由來自UIUC 和 OpenManus 的研究人員合作開發。 前提要求 安裝deepseek docker方式安裝 ,windows 方式安裝,Linux安裝方式

PDF 轉圖片,一行代碼搞定!批量支持已上線!

大家好,我是程序員晚楓。今天我要給大家帶來一個超實用的功能——popdf 現在支持 PDF 轉圖片了,而且還能批量操作!是不是很激動?別急,我來手把手教你玩轉這個功能。 1. 一行代碼搞定單文件轉換 popdf 的核心就是簡單暴…