C++ 框架和透明窗口不工作!Qt小部件
我正在使用Qt小部件 我需要一个对话框,当我点击主窗口上的一个按钮时,这个对话框应该是透明的,这意味着如果我打开它,我仍然可以看到背景,好像什么都没有 我在对话框的构造函数中尝试了以下操作:C++ 框架和透明窗口不工作!Qt小部件,c++,windows,qt,C++,Windows,Qt,我正在使用Qt小部件 我需要一个对话框,当我点击主窗口上的一个按钮时,这个对话框应该是透明的,这意味着如果我打开它,我仍然可以看到背景,好像什么都没有 我在对话框的构造函数中尝试了以下操作: this->setWindowFlags(Qt::Widget | Qt::FramelessWindowHint); this->setAttribute(Qt::WA_TranslucentBackground,true); this->setWindowState(Qt::Windo
this->setWindowFlags(Qt::Widget | Qt::FramelessWindowHint);
this->setAttribute(Qt::WA_TranslucentBackground,true);
this->setWindowState(Qt::WindowFullScreen);
- 注意:我正在使用鼠标事件,在那里我可以得到鼠标的坐标,我试过了,它工作了,我现在唯一想要的就是我说的透明部分。 程序编译得很好,图标显示在打开的程序所在的栏中,但我无法使用我可以看到的事件,如果我删除了上面的代码
void FramelessWindow::mousePressEvent(QMouseEvent *event){
if(event->button()==Qt::LeftButton){
origin= event->pos();
rubberBand->setGeometry(QRect(origin,QSize()));
rubberBand->show();
}
}
void FramelessWindow::mouseMoveEvent(QMouseEvent *event){
rubberBand->setGeometry(QRect(origin,event->pos()).normalized());
}
void FramelessWindow::mouseReleaseEvent(QMouseEvent *event){
rubberBand->hide();
}
*编辑:
在花了将近12个小时试图解决这个问题后,我就是不能:(我尝试了所有的方法,但都不起作用,希望有另一种方法可以做同样的事情?我在windows 8上.)
*编辑2:
是的,我用的是Windows8
我所说的“使用一切”的意思是,我在谷歌做了一切,尝试了这个家伙的方法:
这家伙:
但还是没用
好的,还有其他方法可以抓取鼠标事件吗?例如,用户可以按住并拖动鼠标事件,然后释放鼠标事件,我可以获取坐标,这样我就可以拍摄照片和类似的东西,用户需要看到背景,这就是为什么我说它需要透明。如果您使用的是Qt 5.2,您可能想看看这个Qt Windows附加服务:
对不起,我没有理解,怎么理解?@Bццћ:他正在使用Windows 8。@user3622289:
我尝试了所有方法,但都没有成功
->也许你可以详细说明所有方法的含义?