首页| 论坛| 消息

回复: Qt编写的遮罩层窗体+全局截图
#6 [919974096 12-29 14:07]
有一个问题,在弹出弹窗一出现遮罩后,然后点击任务栏图标隐藏出现,就没有遮罩了。。
#7 回 圣域天子 的帖子 [liudianwu 12-29 15:09]
圣域天子:截图工具有点不足:
1. 不能在拉好范围后缩放大小
2. 不能在上面画框画圆等
背景黑幕如果能快速渐变就更好了
 (2016-12-29 13:04) 
嗯,能够得到版主中肯的建议,非常荣幸。目前暂时没有时间更正完善,自己暂时够用。呵呵!以后完善了再发布上来!
#8 回 919974096 的帖子 [liudianwu 12-29 15:18]
919974096:有一个问题,在弹出弹窗一出现遮罩后,然后点击任务栏图标隐藏出现,就没有遮罩了。。
 (2016-12-29 14:07) 
需要在maskwidget构造函数中加一句,设置个置顶显示。
this->setWindowFlags(Qt::FramelessWindowHint | Qt::Tool | Qt::WindowStaysOnTopHint);
然后在事件过滤器中将弹窗窗体激活。
bool MaskWidget::eventFilter(QObject *obj, QEvent *event)
{
if (event->type() == QEvent::Show) {
if (dialogNames.contains(obj->objectName())) {
this->show();
QWidget *w = (QWidget *)obj;
w->activateWindow();
}
} else if (event->type() == QEvent::Hide) {
if (dialogNames.contains(obj->objectName())) {
this->hide();
}
}
return QObject::eventFilter(obj, event);
}
#9 回 liudianwu 的帖子 [samhuilong 01-03 09:41]
liudianwu:需要在maskwidget构造函数中加一句,设置个置顶显示。
this->setWindowFlags(Qt::FramelessWindowHint | Qt::Tool | Qt::WindowStaysOnTopHint);
然后在事件过滤器中将弹窗窗体激活。
bool MaskWidget::eventFilter(QObject *obj, QEvent *event)
.......(2016-12-29 15:18)
刘大师,加上Qt::WindowStaysOnTopHint,切换到其他的应用程序的时候,也会显示这个最顶层的窗口,如果去掉这个属性,有什么办法可以控制绘制的遮照和弹出窗口的顺序(去掉这个属性,遮照绘制在弹出窗口的前面)
#10 [25133777 01-03 15:34]
看过大师写的自定义控件大全,不知道你建立的QFramework是直接定义成一个类来进行调用,还是按照项目分,有用到再copy代码啊?
控件那些都是绘制的吗?如果生成了dll来进行调用,那么图片资源怎么调用?

<< 1 2 3 4 >> (2/5)

回复 发表
主题 版块