Linux和qt电子横幅,【Qt】 自定义组件_滚动横幅&弹窗&对话框&字体图标等

本文介绍了一款GUI工具包中的BannerLabel组件和消息框组件的特性和使用方法,包括如何添加图片、设置提示信息、配置动画效果等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题反馈邮箱:1508539502@qq.com

鸣谢

其他组件

BannerLabel 滚动横幅部件

bVcLFDz特性可随机添加图片路径及提示信息集合

可清空图片路径及提示信息集合

可设置图片切换时间

可设置提示信息文字颜色

可设置指示器位置 左边 + 中间 + 右边

可设置鼠标悬停停止播放

可设置组件固定大小(需要与图片尺寸匹配)

图片切换时,可发出切换信号

当前图片被点击时,可发出点击信号

不依赖其它自定义组件,易集成使用示例/* BannerLabel example begin */

BannerLabel *bannerLabel = new BannerLabel(this);

bannerLabel->setTextColor(Qt::green);

bannerLabel->setIndicatorPosition(BannerLabel::IndicatorLeft);

bannerLabel->setInterval(2000);

bannerLabel->setHoverStop(true);

bannerLabel->setFixedSize(800, 400);

const QList<:pair qstring>>&& imagepairlst = { std::make_pair("C:/Users/DELL/Desktop/bannerLabel/banner-image/0", "离离原上草!"), std::make_pair("C:/Users/DELL/Desktop/bannerLabel/banner-image/1", "一岁一枯荣!"), std::make_pair("C:/Users/DELL/Desktop/bannerLabel/banner-image/2", "野火烧不尽!"), std::make_pair("C:/Users/DELL/Desktop/bannerLabel/banner-image/3", "春风吹又生!"), std::make_pair("C:/Users/DELL/Desktop/bannerLabel/banner-image/5", "Banner 横幅组件!"), };

bannerLabel->addImage(imagepairlst);

connect(bannerLabel, &BannerLabel::imageChange, [=](int index, const QString &imagePath, const QString &tipText){

qDebug() << "imageChange: " << index << " " << imagePath << " " << tipText;

});

connect(bannerLabel, &BannerLabel::imageclicked, [=](int index, const QString &imagePath, const QString &tipText){

qDebug() << "imageclicked: " << index << " " << imagePath << " " << tipText;

});

/* BannerLabel example end */

PopupMessageBox 屏幕右下角信息提示对话框

bVbK17K

bVbK195

bVbK2Gp

bVbK2uz特性可设置标题

可设置标题图标

可设置提示文本

可设置提示图片

可设置提示动画

可设置操作按钮是否可见

可设置对话框入场动画时间

可设置对话框停留时间

可随时终止一个对话框

对话框退出时,发送退出信号

确定按钮被点击时,发送确认信息

取消按钮被点击时,发送取消信号

不依赖其它自定义组件,易集成使用示例// 上浮

QPointer p = PopupMessageBox::createInstance();

p->setTitle("这是一个测试工程提示");

p->setTitleIcon(QPixmap(":/popumessagebox/popupmessagebox/home.png"));

p->setButtonVisible(true);

p->setText("可加载图片/文字/动画\n 按钮可隐藏");

p->start(PopupMessageBox::Animation_Up, 1000, 800);// 透明度

QPointer p = PopupMessageBox::createInstance();

p->setTitle("这是一个测试工程提示");

p->setTitleIcon(QPixmap(":/popumessagebox/popupmessagebox/home.png"));

p>setIcon400x270_400x215(QPixmap("C:/Users/DELL/Desktop/popupmessagebox/icon.jpg"));

p->setButtonVisible(false);

p->start(PopupMessageBox::Animation_Opacity, 1000, 800);// 下坠

QPointer p = PopupMessageBox::createInstance();

p->setTitle("这是一个测试工程提示");

p->setTitleIcon(QPixmap(":/popumessagebox/popupmessagebox/home.png"));

p->setButtonVisible(false);

p->setMovie400x270_400x215("C:/Users/DELL/Desktop/popupmessagebox/icon.gif");

p->start(PopupMessageBox::Animation_Drop, 2000, 800);// 抖动

QPointer p = PopupMessageBox::createInstance();

p->setTitle("这是一个测试工程提示");

p->setTitleIcon(QPixmap(":/popumessagebox/popupmessagebox/home.png"));

p->setButtonVisible(false);

p->setText("作业写完了吗!!!");

p->setTextColor(Qt::red);

p->setButtonVisible(true);

connect(p, &PopupMessageBox::quit, [=](){

qDebug() << "quit";

});

connect(p, &PopupMessageBox::accepted, [=](){

qDebug() << "accepted";

});

connect(p, &PopupMessageBox::rejected, [=](){

qDebug() << "rejected";

});

p->start(PopupMessageBox::Animation_Shark, -1, 800);

SimpleMessageBox 简易的对话框

bVbK2R4

bVbK2Sg

bVbK2SE特性消息提示对话框

询问提示对框框

错误提示对话框

不依赖其它自定义组件,易集成使用示例qDebug() << SimpleMessageBox::infomationMessageBox("这是一个测试,今天心情好不啦,啦啦啦,嘿嘿嘿");

qDebug() << SimpleMessageBox::errorMessageBox("祝你平安喜乐,万事胜意");

qDebug() << SimpleMessageBox::questionMessageBox("bug修复了吗?");

IconHelper 字体图标辅助类

bVbK37p特性可设置 Label 字体图标

可设置 Button 字体图标

可设置 ListWidgetItem 字体图标

不依赖其它自定义组件,易集成

不依赖其它自定义组件,易集成使用示例QListWidget *pListWidget = new QListWidget(this);

pListWidget->setMovement(QListView::Snap);

pListWidget->setViewMode(QListView::IconMode);

pListWidget->setResizeMode(QListView::Adjust);

pListWidget->setSpacing(10);

for (int index=0; index<500; ++index)

{

QListWidgetItem *item = new QListWidgetItem(pListWidget);

IconHelper::setIcon(item, QChar(index + 0xf031), 16); // 注意这里

pListWidget->addItem(item);

}

QHBoxLayout *pLayout = new QHBoxLayout;

pLayout->addWidget(pListWidget);

setLayout(pLayout);

CommonHelper 公共辅助类

bVbK4ce特性设置皮肤样式

判断是否是IP地址

模糊延时

窗体剧中显示

设置为开机启动

设置为应用重启使用示例QPushButton *pBtn = new QPushButton("重启", this);

connect(pBtn, &QPushButton::clicked, [=](){

CommonHelper::reboot(); // 注意这里

});

QVBoxLayout *pLayout = new QVBoxLayout;

pLayout->addWidget(pBtn);

setLayout(pLayout);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值