網(wǎng)站首頁 編程語言 正文
1、Text Edit編輯框
//將編輯框中的內(nèi)容轉(zhuǎn)化成Utf8編碼
ui->textEdit->toPlainText().toUtf8();
2、Combo Box下拉框的應(yīng)用
(1)將內(nèi)容加入下拉框中
ui->comboBox->addItem(ui->recvMulAddrEdit->text());
(2)刪除下拉框中當(dāng)前的內(nèi)容
ui->comboBox->removeItem(ui->recvMulAddr->currentIndex());
3、List Wiget
3.1、實(shí)現(xiàn)雙擊
void QPlayer::on_listWidget_doubleClicked(const QModelIndex &index)//雙擊進(jìn)入
{
//"mplayer -slave -quiet -geometry x:y -zoom -x x -y y move.mp4"
//http://192.168.1.248/move.mp4
QString movepath = path+ui->listWidget->currentItem()->text(); //ui->listWidget->currentItem()->text() 取出當(dāng)前光標(biāo)雙擊的一行內(nèi)容
QString cmd = QString("mplayer -slave -quiet -geometry %1:%2 -zoom -x %3 -y %4 %5")
.arg(QString::number(ui->label->x()))
.arg(QString::number(ui->label->y()))
.arg(QString::number(ui->label->width()))
.arg(QString::number(ui->label->height()))
.arg(movepath);
if(mProcess->state() == QProcess::Running)
{
mProcess->kill();
mProcess->waitForFinished();
}else
{
mProcess->start(cmd);
}
}
3.2、獲取當(dāng)前點(diǎn)擊內(nèi)容的行號
int num = ui->listWidget->row(ui->listWidget->currentItem());
3.3、建立文件縮小圖標(biāo)
QListWidgetItem *item = new QListWidgetItem(QIcon(fileDir),info.fileName());
ui->ListWidget->addItem(item); //往List Wiget里面添加項(xiàng)
3.4、在List Widget列表中顯示其他窗口信息
Form *win = new Form(ui->listWidget); //這是一個子窗口,ui->listWidget把窗口對象放進(jìn)ListWidget列表中
QListWidgetItem *item = new QListWidgetItem();
item->setSizeHint(win->size()); //每項(xiàng)的大小設(shè)置為win的大小
ui->listWidget->addItem(item);
ui->listWidget->setItemWidget(item,win); //
4、Label
4.1、顯示圖片
第一種方法:
ui->label->setScaledContents(true);//顯示圖片的全部
ui->label->setPixmap(QPixmap(tempDir));//顯示圖片,tempDir是照片的絕對路徑
第二種方法:
QPixmap mmp;
mmp.load("E:/GZ17-3/system/Qt-program/001/code/LoginWin/tst.png");
mmp = mmp.scaled(ui->label->size());
ui->label->setPixmap(mmp);
4.2、播放視頻,播放器是mplaer
void ProcessMplayer::on_listWidget_doubleClicked(const QModelIndex &index) //雙擊播放視頻
{
qDebug()<<ui->listWidget->currentItem()->text();
QString cmd = "E:/GZ17-3/system/Qt-program/mplayer/mplayer.exe";
//cmd.append(ui->listWidget->currentItem()->text());
QStringList argmList;
argmList<<"-slave"; //從模式--通過命令控制
argmList<<"-quiet"; //屏蔽解碼信息輸出
argmList<<"-wid";//嵌入到界面上,后面接窗口ID
argmList<<QString::number(ui->label->winId());
argmList<<ui->listWidget->currentItem()->text();
if(mProcess->state() == QProcess::Running)
{
mProcess->kill();
mProcess->waitForFinished();
}
mProcess->start(cmd, argmList);
}
4.3、播放gif動態(tài)圖
QMovie *movie = new QMovie("../form/1.gif"); // "../form/1.gif"圖片路徑
movie->start(); //開始播放動態(tài)圖
ui->label->setMovie(movie); //將圖片設(shè)置為為動態(tài)
ui->label->setScaledContents(true); //盡可能完整的播放整張動圖 ,此處要設(shè)置為true
4.4、截屏
//截屏
QPixmap map = QApplication::screens().at(0)->grabWindow(0);
map.save("./screen.png"); //保存到當(dāng)前目錄下,名字為screen.png
QBuffer buffer; //圖片暫時存儲器
buffer.open(QIODevice::WriteOnly);
map.save(&buffer);
buffer.data();//得到QByteArray 對象可以轉(zhuǎn)換為char*
//顯示
map = map.scaled(ui->label->size()); //圖片跟著屏幕的縮放
ui->label->setPixmap(map);
4.5、Check Box按鍵
ui->checkBox->setCheckState(Qt::Unchecked); //把按鈕重新置于沒有被選中的狀態(tài)
4.6、Push Button按鍵
(1)排列出一個鍵盤
//鍵盤數(shù)組
QToolButton *buttons[12];
//按鈕初始化
buttons[0] = ui->btn_value0;
buttons[1] = ui->btn_value1;
buttons[2] = ui->btn_value2;
buttons[3] = ui->btn_value3;
buttons[4] = ui->btn_value4;
buttons[5] = ui->btn_value5;
buttons[6] = ui->btn_value6;
buttons[7] = ui->btn_value7;
buttons[8] = ui->btn_value8;
buttons[9] = ui->btn_value9;
buttons[10] = ui->btn_Point;
buttons[11] = ui->btn_delete;
//所有按鈕信號關(guān)聯(lián)一個槽函數(shù)
for(int i=0;i<12;i++)
{
connect(buttons[i],SIGNAL(clicked(bool)),this,SLOT(clicked_button()));
}
//點(diǎn)擊哪個按鈕
void ArmInfo::clicked_button()
{
//獲取是哪個按鈕點(diǎn)擊(信號發(fā)送者)
QToolButton *obj = (QToolButton*)sender();
QString ip = ui->lineEdit_Amend->text();
if(obj->text() == "<-") //檢測是否點(diǎn)擊刪除按鈕
{
ip.remove(ip.length()-1,1);//刪除最后一個字符
}
else
{
ip.append(obj->text());//拼接字符串
}
ui->lineEdit_Amend->setText(ip);
}
(2)設(shè)置按鈕狀態(tài)
ui->pushButton->setCheckable(true); //按一次就改變一次狀態(tài),比如說第一次按下時true那么第二次就是false
connect(ui->pushButton,SIGNAL(clicked(bool)),this,SLOT(check(bool)));
(3)按鈕按下和釋放時切換圖片
void MainWindow::on_pushButton_pressed() //按下按鈕時
{
ui->pushButton->setStyleSheet("border-image: url(:/new/prefix1/imag/人體炮彈.png);");
}
void MainWindow::on_pushButton_released() //釋放按鈕時
{
ui->pushButton->setStyleSheet("border-image: url(:/new/prefix1/imag/atm.png);");
}
4.7、Line Edit輸入框
//垂直布局管理器
QVBoxLayout *vbox = new QVBoxLayout(this);
lineEdit = new QLineEdit(this); //定義一個lineEdit對象
lineEdit->setMinimumHeight(60); //設(shè)置最小高度
lineEdit->setAlignment(Qt::AlignRight); //設(shè)置輸入框中右邊對齊
4.8、toolButton
(1)設(shè)置按鈕的大小
//90為x軸,100為y軸,300為寬,400為高設(shè)置界面的大小
ui->toolButton->setGeometry(90,100,300,400);
(2)設(shè)置圖標(biāo)
//設(shè)置圖標(biāo),../toolbar/icon.jpg 這是圖片所在路徑,要在源程序目錄下
ui->toolButton->setIcon(QIcon("../toolbar/icon.jpg"));
解釋:toolbar代碼的路徑,不是絕對路徑?
4.9、action按鈕綁定方法
connect(ui->action_New,SIGNAL(triggered(bool)),this,SLOT(doProcessNew())); //action按鈕的綁定方法,這里和pushButton不同的時候觸發(fā)為triggered(bool)
4.10、鎖定背景圖片,不讓其他按鈕隨著背景圖片一起變化
MainWindow{border-image: url(:/new/prefix1/imag/00958PICfNK.jpg);}
解釋:
- MainWindow :顯示背景的窗口名
- border-image:圖片跟著邊框一起變化
- /new/prefix1/imag/00958PICfNK.jpg:圖片路徑
原文鏈接:https://blog.csdn.net/m0_60259116/article/details/128334653
相關(guān)推薦
- 2022-09-13 C語言實(shí)現(xiàn)統(tǒng)計(jì)一行字符串的單詞個數(shù)_C 語言
- 2022-03-19 C語言數(shù)據(jù)結(jié)構(gòu)之隊(duì)列算法詳解_C 語言
- 2022-05-03 python單例模式之selenium?driver實(shí)現(xiàn)單例_python
- 2022-10-21 React封裝全屏彈框的方法_React
- 2022-09-19 Tomcat日志自動分割的三種方法_Tomcat
- 2022-09-25 Django 使用定時任務(wù)
- 2022-07-29 Ubuntu中的sudo和su命令介紹_linux shell
- 2023-04-19 SQLSERVER?的?truncate?和?delete?區(qū)別解析_MsSql
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支