打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
用QPainter画一张背景透明的图解决办法

当前位置:
我的异常网
?
QT开发



用QPainter画一张背景透明的图解决办法







www.MyException.Cn   发布于:2012-03-26 15:46:55   浏览:138次






用QPainter画一张背景透明的图
下面是我写的代码:
C/C++ code
#include <QtGui>    class Widget : public QWidget    {        Q_OBJECT    public:        Widget(QWidget *parent = 0);    protected:          void paintEvent(QPaintEvent *event);      private:        QPoint m_CurrentPos;        QPixmap m_Pixmap;    };    Widget::Widget(QWidget *parent)    : QWidget(parent, Qt::FramelessWindowHint)    {    m_Pixmap = QPixmap(200, 200);    resize(200, 200);    QPainter painter(&m_Pixmap);    painter.setPen(Qt::red);    painter.drawRect(50, 50, 100, 100);    setMask(m_Pixmap);}    void Widget::paintEvent(QPaintEvent *event)    {        QPainter painter(this);        painter.drawPixmap(0, 0, m_Pixmap);    }    #include "main.moc"    int main(int argc, char *argv[])    {        QApplication app(argc, argv);        Widget *widget = new Widget;        widget->show();        return app.exec();    }    


这段代码的本来是想生成一个只有一个红色边框的Widget,并且除了边框以外,其他区域都设置为穿透效果,
但为什么界面上还有这么多灰色的花点呢?

截图如下:


请大家多多指教,先谢谢啦。

------解决方案--------------------------------------------------------

由于 小豪 的隐私设置,你不能访问当前内容


------解决方案--------------------------------------------------------

你所指的灰色花点是红色边框外的背景部分,还是红色边框上的花点?
我在UBuntu实验你的代码的效果图:



















     
   
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Qt之窗体透明
QT图形视图框架(The Graphics View Framework)
Qt5.9开发指南笔记
Qt QStyle样式类使用指南
让你的 Qt 桌面程序看上去更加 native(三):自定义 style
Qt 汽车仪表 QWidget
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服