《QT实用小工具·三十二》九宫格炫酷主界面

1、概述
源码放在文章末尾

项目实现了九宫格炫酷主界面,下面是项目demo演示:

项目部分代码如下:

cpp 复制代码
#pragma execution_character_set("utf-8")

#include "frmmain.h"
#include "ui_frmmain.h"

frmMain::frmMain(QWidget *parent) : QWidget(parent), ui(new Ui::frmMain)
{
    ui->setupUi(this);
    this->initForm();
}

frmMain::~frmMain()
{
    delete ui;
}

void frmMain::initForm()
{
    this->setWindowTitle("九宫格主界面");

    bg = "main2.jpg";
    QList<QToolButton *> btns = this->findChildren<QToolButton *>();

    foreach (QToolButton *btn, btns) {
        connect(btn, SIGNAL(clicked()), this, SLOT(buttonClick()));
    }
}

void frmMain::buttonClick()
{
    QToolButton *btn = (QToolButton *)sender();
    QString objName = btn->objectName();

    if (objName == "btnCOMTool") {
        if (bg == "main1.jpg") {
            bg = "main2.jpg";
        } else if (bg == "main2.jpg") {
            bg = "main3.jpg";
        } else if (bg == "main3.jpg") {
            bg = "main4.jpg";
        } else if (bg == "main4.jpg") {
            bg = "main5.jpg";
        } else if (bg == "main5.jpg") {
            bg = "main1.jpg";
        }

        QString qss = QString("QWidget#frm{background-image: url(:/image/%1);}").arg(bg);
        qss += "QToolButton{color:#E7ECF0;background-color:rgba(0,0,0,0);border-style:none;}";
        this->setStyleSheet(qss);
    } else if (objName == "btnAddressTool") {

    } else if (objName == "btnTCPTool") {
        this->close();
    } else if (objName == "btnCOMTCPTool") {

    } else if (objName == "btnDefence") {

    } else if (objName == "btnHostTool") {

    } else if (objName == "btnLinkTool") {

    } else if (objName == "btnMaiChongTool") {

    } else if (objName == "btnPlot") {

    } else if (objName == "btnZhangLi4Tool") {

    } else if (objName == "btnZhangLi5Tool") {

    } else if (objName == "btnZhangLiTool") {

    }
}

源码下载

相关推荐
用余生去守护31 分钟前
python报错系列(16)--pyinstaller ????????
开发语言·python
yuanbenshidiaos34 分钟前
c++---------数据类型
java·jvm·c++
数据小爬虫@35 分钟前
利用Python爬虫快速获取商品历史价格信息
开发语言·爬虫·python
向宇it38 分钟前
【从零开始入门unity游戏开发之——C#篇25】C#面向对象动态多态——virtual、override 和 base 关键字、抽象类和抽象方法
java·开发语言·unity·c#·游戏引擎
莫名其妙小饼干1 小时前
网上球鞋竞拍系统|Java|SSM|VUE| 前后端分离
java·开发语言·maven·mssql
十年一梦实验室1 小时前
【C++】sophus : sim_details.hpp 实现了矩阵函数 W、其导数,以及其逆 (十七)
开发语言·c++·线性代数·矩阵
taoyong0011 小时前
代码随想录算法训练营第十一天-239.滑动窗口最大值
c++·算法
最爱番茄味1 小时前
Python实例之函数基础打卡篇
开发语言·python
这是我581 小时前
C++打小怪游戏
c++·其他·游戏·visual studio·小怪·大型·怪物
fpcc1 小时前
跟我学c++中级篇——C++中的缓存利用
c++·缓存