当前位置: 首页 > wzjs >正文

盘锦网站建设价位温州网站建设制作

盘锦网站建设价位,温州网站建设制作,临沂做网站的在哪里,湖南长沙芙蓉区疫情最新消息Qt实现新手引导 对于一个新安装的软件或者一个新的功能,提供一个新手引导步骤,能够让用户快速熟悉。这是最终效果,每一个按钮都会有一个简单引导,通过点击上一步、下一步来切换不同的指导。当前引导的功能,会有一个高光…

Qt实现新手引导

对于一个新安装的软件或者一个新的功能,提供一个新手引导步骤,能够让用户快速熟悉。
在这里插入图片描述
这是最终效果,每一个按钮都会有一个简单引导,通过点击上一步、下一步来切换不同的指导。当前引导的功能,会有一个高光区,该高光区可点击,其他区域不可点击。引导结束后回归主界面。

引导层

void GuideOverlayTip::updateWidgets()
{if (m_currentStep >= m_highlightRects.size()){hide();return;}if(m_currentStep == m_highlightRects.size() - 1){m_btnPrev->setText(tr("完成"));}QRect rect = m_highlightRects[m_currentStep];m_tipLabel->setText(m_tips[m_currentStep]);m_tipLabel->adjustSize();m_tipLabel->move(rect.topRight() + QPoint(10, -rect.height()/2));if(m_currentStep != 0){m_btnPrev->move(rect.bottomLeft() + QPoint(-80, 10));m_btnPrev->show();}else{m_btnPrev->hide();}m_btnNext->move(rect.bottomRight() + QPoint(10, 10));
}

根据当前引导,更新btn、label顺序、文本显示。

void GuideOverlayTip::updateMask()
{if (m_currentStep >= m_highlightRects.size()){return;}QRegion fullRegion(rect());QRegion highlightRegion(m_highlightRects[m_currentStep].adjusted(0, 0, 1, 1), QRegion::Rectangle);QRegion maskedRegion = fullRegion.subtracted(highlightRegion);setMask(maskedRegion);
}

setMask可以遮挡非高光区的事件。

void GuideOverlayTip::paintEvent(QPaintEvent *)
{QPainter painter(this);QPainterPath maskPath;maskPath.addRect(rect());maskPath.addRoundedRect(m_highlightRect, 8, 8);maskPath.setFillRule(Qt::OddEvenFill);painter.fillPath(maskPath, QColor(0, 0, 0, 160));
}

根据需求绘制一个半透明的背景。

调用层

void MainWindow::showGuide()
{QList<QRect> steps;QStringList tips;for (int i = btn1; i <= btn4; ++i){QPushButton* btn = m_pushBtns[i];QRect btnRect(this->mapFromGlobal(btn->mapToGlobal(QPoint(0, 0))), btn->size());steps << btnRect;}qDebug() << steps;tips << "点击这里改变改变背景颜色为A";tips << "点击这里改变改变背景颜色为B";tips << "点击这里改变改变背景颜色为C";tips << "点击这里恢复默认背景";m_guide->setSteps(steps, tips);m_guide->start();}

传入高光区位置、提示文本等;
其中为m_guide = new GuideOverlayTip(this);

http://www.dtcms.com/wzjs/56825.html

相关文章:

  • 服饰 视频 网站建设网页设计制作网站教程
  • 成都计算机编程培训哪里好优化培训课程
  • 网站建设公司 提成淘宝搜索指数
  • 广东购物网站建设今日最新国际新闻
  • 做网站需要的资料常用的网络营销方式
  • 美食网站建设的功能网络企业推广
  • 谷歌 网站做推广秦皇岛网站seo
  • 网站备案所需材料百度一下首页问问
  • 微博分享的网站怎么做seo编辑招聘
  • 广东购物网站建设哪家好学生个人网页设计模板
  • 自己做的网站有排名吗网络推广员要怎么做
  • 天河建网站公司合肥seo优化
  • 广州设计网站公司如何做一个网站
  • 目前做网站最流行的程序语言毕业设计网站
  • wordpress主题带卡密seo推广官网
  • 做网站有什么必要市场营销咨询
  • 做企业展示网站sem代运营托管公司
  • 单页面企业网站站长素材网站官网
  • 义乌做网站的公司b站推广在哪里
  • 如何做日本语网站网络商城应该如何推广
  • 做多站发布信息的网站网站可以自己做吗
  • 怎样用wordpress建站百度推广北京总部电话
  • 站酷网电脑版seo优化技术是什么
  • 网站怎么做平台教育机构退费纠纷找谁
  • 上海定制化网站开发seo推广优化服务
  • 怎么做网站平台教程安徽360优化
  • 深圳模板建站企业网店代运营诈骗
  • 中信建设有限责任公司定州公众号seo排名软件
  • 购物网站后台好管理吗无锡百度正规公司
  • 新疆建设工程信息官网徐州自动seo