百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

Qt中控件的使用函数

toyiye 2024-06-24 19:16 32 浏览 0 评论

qt中控件的使用函数

1、Text Edit编辑框

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

2、Combo Box下拉框的应用

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

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

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

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

QT技术文章推荐:Qt开发进阶技术栈学习路线和资料

3、List Wiget

(1)实现双击

void QPlayer::on_listWidget_doubleClicked(const QModelIndex &index)//双击进入
{
    //"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() 取出当前光标双击的一行内容

    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);
    }

}

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

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

(3)建立文件缩小图标

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

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

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

4、Label

(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);

(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);
}

(3)播放gif动态图

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

(4)截屏

QT技术文章推荐:Qt开发进阶技术栈学习路线和资料

//截屏
QPixmap map = QApplication::screens().at(0)->grabWindow(0);
map.save("./screen.png"); //保存到当前目录下,名字为screen.png
QBuffer buffer; //图片暂时存储器
buffer.open(QIODevice::WriteOnly);
map.save(&buffer);
buffer.data();//得到QByteArray 对象可以转换为char*

//显示
map = map.scaled(ui->label->size()); //图片跟着屏幕的缩放
ui->label->setPixmap(map);

5、Check Box按键

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

6、Push Button按键

(1)排列出一个键盘

  //键盘数组
    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;
 
 //所有按钮信号关联一个槽函数
    for(int i=0;i<12;i++)
    {
        connect(buttons[i],SIGNAL(clicked(bool)),this,SLOT(clicked_button()));
    }
    
//点击哪个按钮
void ArmInfo::clicked_button()
{
    //获取是哪个按钮点击(信号发送者)
    QToolButton *obj = (QToolButton*)sender();
    QString ip = ui->lineEdit_Amend->text();
    if(obj->text() == "<-") //检测是否点击删除按钮
    {
      ip.remove(ip.length()-1,1);//删除最后一个字符
    }

    else
    {
       ip.append(obj->text());//拼接字符串
    }
    ui->lineEdit_Amend->setText(ip);
}

(2)设置按钮状态

ui->pushButton->setCheckable(true); //按一次就改变一次状态,比如说第一次按下时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);");
}

7、Line Edit输入框

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


8、toolButton

(1)设置按钮的大小

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

(2)设置图标

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

9、action按钮绑定方法

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

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

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

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码