• qt中控件的使用函数


    qt中控件的使用函数

    1、Text Edit编辑框

    1. //将编辑框中的内容转化成Utf8编码
    2. ui->textEdit->toPlainText().toUtf8();

    2、Combo Box下拉框的应用

    (1)将内容加入下拉框中

    ui->comboBox->addItem(ui->recvMulAddrEdit->text());

    (2)删除下拉框中当前的内容

     ui->comboBox->removeItem(ui->recvMulAddr->currentIndex()); 
    

    3、List Wiget

    (1)实现双击

    1. void QPlayer::on_listWidget_doubleClicked(const QModelIndex &index)//双击进入
    2. {
    3. //"mplayer -slave -quiet -geometry x:y -zoom -x x -y y move.mp4"
    4. //http://192.168.1.248/move.mp4
    5. QString movepath = path+ui->listWidget->currentItem()->text(); //ui->listWidget->currentItem()->text() 取出当前光标双击的一行内容
    6. QString cmd = QString("mplayer -slave -quiet -geometry %1:%2 -zoom -x %3 -y %4 %5")
    7. .arg(QString::number(ui->label->x()))
    8. .arg(QString::number(ui->label->y()))
    9. .arg(QString::number(ui->label->width()))
    10. .arg(QString::number(ui->label->height()))
    11. .arg(movepath);
    12. if(mProcess->state() == QProcess::Running)
    13. {
    14. mProcess->kill();
    15. mProcess->waitForFinished();
    16. }else
    17. {
    18. mProcess->start(cmd);
    19. }
    20. }

    本文福利, 免费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT图像,QT网络,QT数据库编程,QT项目实战,QT嵌入式开发,Quick模块等等)↓↓↓↓↓↓见下面↓↓文章底部点击免费领取↓↓

    (2)获取当前点击内容的行号

    int num = ui->listWidget->row(ui->listWidget->currentItem()); 

    (3)建立文件缩小图标

    1. QListWidgetItem *item = new QListWidgetItem(QIcon(fileDir),info.fileName());
    2. ui->ListWidget->addItem(item); //往List Wiget里面添加项

    (4)在List Widget列表中显示其他窗口信息

    1. Form *win = new Form(ui->listWidget); //这是一个子窗口,ui->listWidget把窗口对象放进ListWidget列表中
    2. QListWidgetItem *item = new QListWidgetItem();
    3. item->setSizeHint(win->size()); //每项的大小设置为win的大小
    4. ui->listWidget->addItem(item);
    5. ui->listWidget->setItemWidget(item,win); //

    4、Label

    (1)显示图片

    第一种方法:

    1. ui->label->setScaledContents(true);//显示图片的全部
    2. ui->label->setPixmap(QPixmap(tempDir));//显示图片,tempDir是照片的绝对路径

    第二种方法:

    1. QPixmap mmp;
    2. mmp.load("E:/GZ17-3/system/Qt-program/001/code/LoginWin/tst.png");
    3. mmp = mmp.scaled(ui->label->size());
    4. ui->label->setPixmap(mmp);

    (2)播放视频,播放器是mplaer

    1. void ProcessMplayer::on_listWidget_doubleClicked(const QModelIndex &index) //双击播放视频
    2. {
    3. qDebug()<<ui->listWidget->currentItem()->text();
    4. QString cmd = "E:/GZ17-3/system/Qt-program/mplayer/mplayer.exe";
    5. //cmd.append(ui->listWidget->currentItem()->text());
    6. QStringList argmList;
    7. argmList<<"-slave"; //从模式--通过命令控制
    8. argmList<<"-quiet"; //屏蔽解码信息输出
    9. argmList<<"-wid";//嵌入到界面上,后面接窗口ID
    10. argmList<<QString::number(ui->label->winId());
    11. argmList<<ui->listWidget->currentItem()->text();
    12. if(mProcess->state() == QProcess::Running)
    13. {
    14. mProcess->kill();
    15. mProcess->waitForFinished();
    16. }
    17. mProcess->start(cmd, argmList);
    18. }

    (3)播放gif动态图

    1. QMovie *movie = new QMovie("../form/1.gif"); // "../form/1.gif"图片路径
    2. movie->start(); //开始播放动态图
    3. ui->label->setMovie(movie); //将图片设置为为动态
    4. ui->label->setScaledContents(true); //尽可能完整的播放整张动图 ,此处要设置为true

    (4)截屏 

    1. //截屏
    2. QPixmap map = QApplication::screens().at(0)->grabWindow(0);
    3. map.save("./screen.png"); //保存到当前目录下,名字为screen.png
    4. QBuffer buffer; //图片暂时存储器
    5. buffer.open(QIODevice::WriteOnly);
    6. map.save(&buffer);
    7. buffer.data();//得到QByteArray 对象可以转换为char*
    8. //显示
    9. map = map.scaled(ui->label->size()); //图片跟着屏幕的缩放
    10. ui->label->setPixmap(map);

    5、Check Box按键

    ui->checkBox->setCheckState(Qt::Unchecked); //把按钮重新置于没有被选中的状态

    6、Push Button按键

    (1)排列出一个键盘

    1. //键盘数组
    2. QToolButton *buttons[12];
    3. //按钮初始化
    4. buttons[0] = ui->btn_value0;
    5. buttons[1] = ui->btn_value1;
    6. buttons[2] = ui->btn_value2;
    7. buttons[3] = ui->btn_value3;
    8. buttons[4] = ui->btn_value4;
    9. buttons[5] = ui->btn_value5;
    10. buttons[6] = ui->btn_value6;
    11. buttons[7] = ui->btn_value7;
    12. buttons[8] = ui->btn_value8;
    13. buttons[9] = ui->btn_value9;
    14. buttons[10] = ui->btn_Point;
    15. buttons[11] = ui->btn_delete;
    16. //所有按钮信号关联一个槽函数
    17. for(int i=0;i<12;i++)
    18. {
    19. connect(buttons[i],SIGNAL(clicked(bool)),this,SLOT(clicked_button()));
    20. }
    21. //点击哪个按钮
    22. void ArmInfo::clicked_button()
    23. {
    24. //获取是哪个按钮点击(信号发送者)
    25. QToolButton *obj = (QToolButton*)sender();
    26. QString ip = ui->lineEdit_Amend->text();
    27. if(obj->text() == "<-") //检测是否点击删除按钮
    28. {
    29. ip.remove(ip.length()-1,1);//删除最后一个字符
    30. }
    31. else
    32. {
    33. ip.append(obj->text());//拼接字符串
    34. }
    35. ui->lineEdit_Amend->setText(ip);
    36. }

    (2)设置按钮状态

    1. ui->pushButton->setCheckable(true); //按一次就改变一次状态,比如说第一次按下时true那么第二次就是false
    2. connect(ui->pushButton,SIGNAL(clicked(bool)),this,SLOT(check(bool)));

    (3)按钮按下和释放时切换图片

    1. void MainWindow::on_pushButton_pressed() //按下按钮时
    2. {
    3. ui->pushButton->setStyleSheet("border-image: url(:/new/prefix1/imag/人体炮弹.png);");
    4. }
    5. void MainWindow::on_pushButton_released() //释放按钮时
    6. {
    7. ui->pushButton->setStyleSheet("border-image: url(:/new/prefix1/imag/atm.png);");
    8. }

    7、Line Edit输入框

    1. //垂直布局管理器
    2. QVBoxLayout *vbox = new QVBoxLayout(this);
    3. lineEdit = new QLineEdit(this); //定义一个lineEdit对象
    4. lineEdit->setMinimumHeight(60); //设置最小高度
    5. lineEdit->setAlignment(Qt::AlignRight); //设置输入框中右边对齐

    8、toolButton

    (1)设置按钮的大小

    1. //90为x轴,100为y轴,300为宽,400为高设置界面的大小
    2. ui->toolButton->setGeometry(90,100,300,400);

    (2)设置图标

    1. //设置图标,../toolbar/icon.jpg 这是图片所在路径,要在源程序目录下
    2. ui->toolButton->setIcon(QIcon("../toolbar/icon.jpg"));
    3. 解释:toolbar代码的路径,不是绝对路径

    9、action按钮绑定方法

    connect(ui->action_New,SIGNAL(triggered(bool)),this,SLOT(doProcessNew())); //action按钮的绑定方法,这里和pushButton不同的时候触发为triggered(bool)

    10、锁定背景图片,不让其他按钮随着背景图片一起变化

    1. MainWindow{border-image: url(:/new/prefix1/imag/00958PICfNK.jpg);}
    2. 解释:MainWindow :显示背景的窗口名
    3. border-image:图片跟着边框一起变化
    4. /new/prefix1/imag/00958PICfNK.jpg:图片路径

    本文福利, 免费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT图像,QT网络,QT数据库编程,QT项目实战,QT嵌入式开发,Quick模块等等)↓↓↓↓↓↓见下面↓↓文章底部点击免费领取↓↓ 

  • 相关阅读:
    网络安全(黑客)自学
    Uniapp 电子签名 包含 返回 撤回 颜色 线条等功能
    使用Python的Turtle库绘制一棵随风飘落叶子的树
    实验篇(7.2) 09. 通过安全隧道走对方宽带上网 (FortiClient-IPsec) ❀ 远程访问
    Typescript 的联合类型和交叉类型
    shell入门第6课 环境变量
    dotnet SemanticKernel 入门 自定义变量和技能
    Git命令语句
    Python学习打卡:day11
    kubernetes集群编排(12)
  • 原文地址:https://blog.csdn.net/m0_60259116/article/details/127653900