关于c:Qt-自定义组件

2次阅读

共计 3156 个字符,预计需要花费 8 分钟才能阅读完成。

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

BannerLabel 滚动横幅部件

仓库

源文件

成果

个性

  • 可随机增加图片门路及提示信息汇合
  • 可清空图片门路及提示信息汇合
  • 可设置图片切换工夫
  • 可设置提示信息文字色彩
  • 可设置指示器地位 右边 + 两头 + 左边
  • 可设置鼠标悬停进行播放
  • 可设置组件固定大小(须要与图片尺寸匹配)
  • 图片切换时,可收回切换信号
  • 以后图片被点击时,可收回点击信号
  • 不依赖其它自定义组件, 易集成

应用示例

    /* 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<std::pair<QString, 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 屏幕右下角信息提醒对话框

仓库

源文件

成果

个性

  • 可设置题目
  • 可设置题目图标
  • 可设置提醒文本
  • 可设置提醒图片
  • 可设置提醒动画
  • 可设置操作按钮是否可见
  • 可设置对话框入场动画工夫
  • 可设置对话框停留时间
  • 可随时终止一个对话框
  • 对话框退出时,发送退出信号
  • 确定按钮被点击时,发送确认信息
  • 勾销按钮被点击时,发送勾销信号
  • 不依赖其它自定义组件, 易集成

应用示例

// 上浮
QPointer<PopupMessageBox> 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<PopupMessageBox> 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<PopupMessageBox> 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<PopupMessageBox> 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 繁难的对话框

仓库

源文件

成果

个性

  • 音讯提醒对话框
  • 询问提醒对框框
  • 谬误提醒对话框
  • 不依赖其它自定义组件, 易集成

应用示例

qDebug() << SimpleMessageBox::infomationMessageBox("这是一个测试,明天情绪好不啦, 啦啦啦,嘿嘿嘿");
qDebug() << SimpleMessageBox::errorMessageBox("祝你平安喜乐,万事胜意");
qDebug() << SimpleMessageBox::questionMessageBox("bug 修复了吗?");
正文完
 0