QT资源添加调用

添加资源文件,新建资源文件夹,命名resource,然后点下一步,点完成

资源,右键add Prefix

 

添加现有文件

展示的label图片切换

QLabel *led_show;

#include "mainwindow.h"
#include<QLabel>
#include<QPixmap>
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    setWindowTitle("鼠标事件");            //设置窗体的标题
    statusLabel = new QLabel;             //创建QLabel用于显示在状态栏中
    statusLabel->setText("当前位置:");    //设置QLabel显示内容
    statusLabel->setFixedWidth(100);     //设置固定宽度为100
    MousePosLabel = new QLabel;          //显示鼠标按下或释放时的位置
    MousePosLabel->setText(tr(""));      //初始化不显示任何内容
    MousePosLabel->setFixedWidth(100);   //设置固定宽度为100
    statusBar()->addPermanentWidget(statusLabel);  //状态栏中增加控件
    statusBar()->addPermanentWidget(MousePosLabel);//状态栏中增加控件
    this->setMouseTracking(true);     //设置窗体追踪鼠标
    resize(400,200);    //调整窗体大小,宽度为400,高度为200

     led_show= new QLabel;
     led_show->setFixedWidth(40);
     led_show->setFixedHeight(40);
     statusBar()->addPermanentWidget(led_show);
}

MainWindow::~MainWindow()
{
}
char* images[2] = {":/photo/image/red.jpg",":/photo/image/green.jpg"};
//鼠标按下事件响应函数
void MainWindow::mousePressEvent(QMouseEvent *e)
{
    QString str="("+QString::number(e->x())+","+QString::number(e->y()) +")"; //(x,y)
    if(e->button()==Qt::LeftButton)
    {
        statusBar()->showMessage(tr("左键:")+str);//左键:(x,y)
        //QPixmap pix(":/photo/image/red.jpg");
        led_show->clear();
        QPixmap pix(images[1]);
        led_show->setPixmap(pix);
        led_show->show();
    }
    else if(e->button()==Qt::RightButton)
    {
        statusBar()->showMessage(tr("右键:")+str);//右键:(x,y)
        led_show->clear();
        QPixmap pix(images[0]);
        led_show->setPixmap(pix);
        led_show->show();
    }
    else if(e->button()==Qt::MiddleButton)
    {
        statusBar()->showMessage(tr("中键:")+str);//中键:(x,y)

    }
}

//鼠标移动事件响应函数
void MainWindow::mouseMoveEvent(QMouseEvent *e)
{
    MousePosLabel->setText("("+QString::number(e->x())+","+QString::number(e->y())+")");//显示内容(x,y)
}


//鼠标松开事件响应函数
void MainWindow::mouseReleaseEvent(QMouseEvent *e)
{
    QString str="("+QString::number(e->x())+","+QString::number(e->y()) +")";
    statusBar()->showMessage(tr("释放在:")+str,1000); //释放在:(x,y),显示1000ms后隐藏
}


//鼠标双击事件响应函数
void MainWindow::mouseDoubleClickEvent(QMouseEvent *e)
{
    statusBar()->showMessage("双击");
}



Qt控件label中显示图片并按比例缩放

    QPixmap pixmap(":/img/start_confirm_title.png");
    // 510,40 当前label大小
  pixmap=pixmap.scaled(510, 40, Qt::KeepAspectRatio, Qt::SmoothTransformation); //按比例缩放
    ui->label_2->setPixmap(pixmap);

按钮的背景切换

void MainWindow::on_pushButton_clicked()
{
 
    if(ui->pushButton->text() == "连接")
    {
       ui->pushButton->setFixedSize(100,40);//固定样式
       ui->pushButton->setStyleSheet(
       "QPushButton{"
       "color:rgba(255,0,0);"//红色
       "border: 2px solid rgb(178, 34, 34);"
       "}"
      "QPushButton:hover{"
      "border: 2px solid rgb(255, 165, 0);"
      "}");
       ui->pushButton->setText("断开");
    }
    else if(ui->pushButton->text()=="断开")
    {
      ui->pushButton->setFixedSize(100, 40);
      ui->pushButton->setStyleSheet(
      "QPushButton{"
      "color:rgba(0,0,0);" //黑色
      "border: 2px solid rgb(54, 100, 139);"
      "}"
      "QPushButton:hover{"
      "border: 2px solid rgb(0, 150, 136);"//橘红色
      "}");
      ui->pushButton->setText("连接");
      //ui->pushButton->setStyleSheet("font: 11pt \"微软雅黑\";");
    }
}

Qt设置PushButton的颜色当指示灯用 

//通过调色板      红色-- Qt::red    绿色-- Qt::green
QPalette pal = ui.pushButtonBitDisp->palette();
pal.setColor(QPalette::Button, Qt::red);
ui.pushButtonBitDisp->setPalette(pal);
ui.pushButtonBitDisp->setAutoFillBackground(true);
ui.pushButtonBitDisp->setFlat(true);

相关推荐

  1. QT案例 使用QProcess调用Aria2.exe下载网络资源文件

    2024-03-30 11:44:01       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-30 11:44:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-30 11:44:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-30 11:44:01       87 阅读
  4. Python语言-面向对象

    2024-03-30 11:44:01       96 阅读

热门阅读

  1. 在银河麒麟系统中安装nginx

    2024-03-30 11:44:01       148 阅读
  2. Python数据结构与算法——数据结构(栈、队列)

    2024-03-30 11:44:01       42 阅读
  3. C#WPF控件Button详解

    2024-03-30 11:44:01       39 阅读
  4. C#热门技术应用:探索.NET Core与ASP.NET Core的前沿

    2024-03-30 11:44:01       45 阅读
  5. Conda 命令

    2024-03-30 11:44:01       47 阅读
  6. 3月28日,每日信息差

    2024-03-30 11:44:01       35 阅读
  7. TCL常用语法

    2024-03-30 11:44:01       42 阅读
  8. Oracal执行计划解析

    2024-03-30 11:44:01       42 阅读
  9. tensorflow | onnx模型转pb

    2024-03-30 11:44:01       45 阅读