QT中獲取選中的radioButton的兩種方法
QT中要獲取radioButton組中被選中的那個按鈕,可以採用兩種如下兩種辦法進行:
方法一:採用物件名稱進行獲取
程式碼:
1 QRadioButton* pbtn = qobject_cast<QRadioButton*>(ui->BG->checkedButton()); 2 QString name = pbtn->objectName(); 3 if(!QString::compare(name, "radioButton")) 4 { 5 QMessageBox::information(this, "Tips", "red chosed!", QMessageBox::Ok); 6 } 7 else if(!QString::compare(name, "radioButton_2")) 8 { 9 QMessageBox::information(this, "Tips", "blue chosed!", QMessageBox::Ok); 10 } 11 else 12 { 13 QMessageBox::information(this, "Tips", "black chosed!", QMessageBox::Ok); 14}
該程式碼片段中,首先使用qobject_cast將checkedButton()函式返回的QAbstractionButton轉換為其子類型別QRadioButton.然後,獲取被選中按鈕的物件名。這可以通過獲取objectName這個屬性獲取。再稍作判斷即可得知結果。注:BG是手動新增的QGroupButton型別,radioButton和radioButton_2,radioButton_3都是UI中新增的radioButton控制元件。
方法二:通過button的ID來獲取
程式碼:
位於建構函式中的程式碼(初始選中第一個按鈕):
1 ui->BG->setId(ui->radioButton, 0); 2 ui->BG->setId(ui->radioButton_2, 1); 3 ui->BG->setId(ui->radioButton_3, 2); 4 ui->radioButton->setChecked(true);
這一步是必須的,必須先設定好radiobutton組中各個按鈕的ID值,否則會導致程式崩潰。
響應訊號的槽函式或其他函式中的程式碼:
1 int a = ui->BG->checkedId(); 2 switch(a) 3 { 4 case 0: 5 QMessageBox::information(this, "Tips", "Red chosed!", QMessageBox::Ok); 6 break; 7 case 1: 8 QMessageBox::information(this, "Tips", "blue chosed!", QMessageBox::Ok); 9 break; 10 case 2: 11 QMessageBox::information(this, "Tips", "black chosed!", QMessageBox::Ok); 12 break; 13 default: 14 break; 15 }
兩種方法具有同樣的效果。
相關推薦
Spring中獲取bean的兩種方法
第一種採用註解方法 註解的方法比較簡單,不在進行詳細介紹,這邊主要將的是另外一種方法,當通過註解獲取不到bean時,可以採用根據上下文獲取。 第二種上下文獲取bean @Component public class SpringBeanUtil implements Appli
【Qt開發】Qt中顯示影象的兩種方法對比
在Qt中處理圖片一般都要用到QImage類,但是QImage的物件不能夠直接顯示出來,要想能看到圖片,初步發現有兩種方法。 一、QImage轉QPixmap,然後用QLabel::setPixmap() image=new QImage("D:/Temp/XX.jpg
python中獲取cookie的兩種方法
第一種是利用selenium+phantomjs無介面瀏覽器的形式訪問網站,再獲取cookie值:# 匯入模組 from selenium import webdriver driver=webdri
OpenCV在Qt中顯示視訊的兩種方法
參考:http://blog.csdn.net/augusdi/article/details/8865541 程式碼如下: 注意,要在ui介面上放置一個“Vertical Layout”控制元件,調整到合適大小 #include <QtWidgets/QMainWi
QT中獲取選中的radioButton的兩種方法
QT中要獲取radioButton組中被選中的那個按鈕,可以採用兩種如下兩種辦法進行: 方法一:採用物件名稱進行獲取 程式碼: 1 QRadioButton* pbtn = qobject_cast<QRadioButton*>(ui->
php獲取陣列中重複資料的兩種方法
<meta charset='utf-8'> <?php function FetchRepeatMemberInArray($array) { // 獲取去掉重複資料的陣列 $unique_arr = array_unique
JS中獲取元素的第二種方法
utf display 獲取 重復執行 ecb sed 文檔 練習 elements 1.靜態方法 var oUl = document.getElementById(‘‘); 2.動態方法 document.getElementsByTagName(‘‘);
python中執行shell的兩種方法總結
sleep follow 命令執行 inux 接收 以及 Go ber BE 這篇文章主要介紹了python中執行shell的兩種方法,有兩種方法可以在Python中執行SHELL程序,方法一是使用Python的commands包,方法二則是使用subprocess包,這
for 循環遍歷字典中的鍵值兩種方法
time bsp 山東 解包 江蘇 方法 獲取 for for 循環 一、先獲取key,然後通過dic[key]獲取value import time dict = {‘山東‘:‘濟南‘,‘河南‘:‘鄭州‘,‘江蘇‘:‘南京‘} for key in dict: prin
【微信小程式】在js中匯入第三方js或自己寫的js,使用外部js中的function的兩種方法 import和require的區別使用方法
如下 定義了一個外部js檔案,其中有一個function import lunaCommon from '../lunaCommon.js'; var ctx = wx.getStorageSync("ctx"); var filter = "/ms-code"; var apis
logstash獲取nginx日誌 兩種方法
獲取nginx日誌要寫grok 還有很多正則來做 那麼很多像我一樣的新手不知道該如何操作 下面我們來個簡單的 第一種 : 重點是: 把nginx的access.log日誌格式改成json型別 更重要的是下面兩行 log_format json '{"@timestamp"
java中產生隨機數的兩種方法
1.可以使用Java api中java.lang包中的Math類,其中Math.random()方法是一個可以產生[0.0,1.0]區間內的一個雙精度浮點數的方法 如: 產生一個100以內的整數:int x=(int)(Math.random()*100); 2.Random random =
破壞iNand中的bootloader的兩種方法
第一種方法之前的文章講過,但是我後來用這種方法來破壞卻破壞不了,原因我不知道,所以就想到用第二種方法來破壞。 第一種方法:開啟SecureCRT,引數設定好,啟動開發板,在SecureCRT中 輸入:busybox dd if=/dev/zero of=/dev/block/mmcblk0
獲取SHA1的兩種方法
第一,使用命令列keytool -list -v -keystore + keystore的路徑 例如: keytool -list -v -keystore “C:\Users\Tool\android\debug.keystore”。 第二個方法完全來自於一位網
sklearn 中模型儲存的兩種方法
一、 sklearn中提供了高效的模型持久化模組joblib,將模型儲存至硬碟。 from sklearn.externals import joblib #lr是一個LogisticRegression模型 joblib.dump(lr, 'lr.model') lr = joblib.load('
機器學習實戰系列:sklearn 中模型儲存的兩種方法
一、 sklearn中提供了高效的模型持久化模組joblib,將模型儲存至硬碟。 from sklearn.externals import joblib #lr是一個LogisticRegression模型 joblib.dump(lr, 'lr.model') lr =
Hive:開發中使用變數的兩種方法
目錄 在使用hive開發資料分析程式碼時,經常會遇到需要改變執行引數的情況,比如select語句中對日期欄位值的設定,可能不同時間想要看不同日期的資料,這就需要能動態改變日期的值。如果開發量較大、引數多的話,使用變數來替代原來的字面值非常有必要,本文總結了幾種可以向
JS刪除JSON陣列中的元素的兩種方法:delete和splice
最近的需求中,需要從JSON陣列中刪除元素,之前不太瞭解,特地查了一下,總結一下: splice(startIndex,count);這個方法用於從陣列的第startIndex位開始,刪除count個元素。 說明: 1、滿足條件的元素直接被刪除,腳標重信排 2、sta
Java從檔案路徑中獲取檔名的幾種方法
Java從檔案路徑中獲取檔名的幾種方法 舉例:String fName =” G:\Java_Source\navigation_tigra_menu\demo1\img\lev1_arrow.gif ” 方法一: ? View Code
【Linux】自動獲取Ip的兩種方法
在安裝好Centos系統後,每次登陸上之後都需要通過手動方式進行網路連線,過於麻煩,因此改成自動連線的方式。 &nb