zoukankan      html  css  js  c++  java
  • Qt-透明窗体之半透明

     相关资料:

    https://download.csdn.net/download/zhujianqiangqq/13713144    代码包下载

    .pro

     1 QT       += core gui
     2 
     3 greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
     4 
     5 CONFIG += c++11
     6 
     7 # The following define makes your compiler emit warnings if you use
     8 # any Qt feature that has been marked deprecated (the exact warnings
     9 # depend on your compiler). Please consult the documentation of the
    10 # deprecated API in order to know how to port your code away from it.
    11 DEFINES += QT_DEPRECATED_WARNINGS
    12 
    13 # You can also make your code fail to compile if it uses deprecated APIs.
    14 # In order to do so, uncomment the following line.
    15 # You can also select to disable deprecated APIs only up to a certain version of Qt.
    16 #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
    17 
    18 SOURCES += 
    19     main.cpp 
    20     windowDesktop.cpp
    21 
    22 HEADERS += 
    23     windowDesktop.h
    24 
    25 FORMS += 
    26     mainwindow.ui
    27 
    28 LIBS += -lUser32
    29 
    30 # Default rules for deployment.
    31 qnx: target.path = /tmp/$${TARGET}/bin
    32 else: unix:!android: target.path = /opt/$${TARGET}/bin
    33 !isEmpty(target.path): INSTALLS += target
    34 
    35 RESOURCES += 
    36     resource.qrc
    View Code

    main.cpp

     1 #include <windows.h>
     2 #include <winuser.h>
     3 #include <QApplication>
     4 #include "windowDesktop.h"
     5 
     6 int main(int argc, char *argv[])
     7 {
     8     QApplication a(argc, argv);
     9 
    10     Dialog w;
    11     w.setWindowFlag(Qt::FramelessWindowHint);
    12     w.setFixedSize(QSize(800, 400));
    13     w.show();
    14     return  a.exec();
    15 }
    View Code

    windowDesktop.h

     1 #ifndef WINDOWDESKTOP_H
     2 #define WINDOWDESKTOP_H
     3 
     4 #include "QObject"
     5 #include "QDialog"
     6 #include "QLineEdit"
     7 #include "QPainter"
     8 #include "QWidget"
     9 #include "QBitmap"
    10 #include "QPushButton"
    11 
    12 class  Dialog :  public  QWidget
    13 {
    14  Q_OBJECT
    15 public :
    16  Dialog(QWidget *parent = 0);
    17  ~Dialog();
    18 
    19   virtual void paintEvent(QPaintEvent *event);
    20 };
    21 
    22 
    23 #endif // WINDOWDESKTOP_H
    View Code

    windowDesktop.cpp

     1 #include "windowDesktop.h"
     2 
     3 Dialog::Dialog(QWidget *parent)
     4     : QWidget(parent)
     5 {    
     6     // 创建个LineEdit用来测试焦点
     7     QLineEdit *le = new QLineEdit(this);
     8     QPushButton *oButton = new QPushButton(this);
     9     oButton->setText("test");
    10     oButton->setGeometry(30, 30, 100, 30);
    11 
    12     this->setAttribute(Qt::WA_TranslucentBackground, true);
    13 }
    14 
    15 Dialog::~Dialog()
    16 {
    17 }
    18 
    19 void Dialog::paintEvent(QPaintEvent *event)
    20 {
    21     QPainter p(this);
    22     p.fillRect(rect(), QColor(0, 0xff, 0, 33));
    23     return;
    24 }
    View Code
  • 相关阅读:
    单例模式
    dubbo环境搭建
    树莓派Zero W无键盘无屏幕初始化
    Arduino连接MPU6050陀螺仪
    Raspberry Pi3驱动Oled ssh1106屏
    SonarQube 7.7默认数据库连接方法
    解决SonarQube启动时直接挂掉问题
    解决sonar的ES无法启动问题
    Jenkins自动打包并部署(以java -jar形势运行)
    python3中OpenCV imwrite保存中文路径文件
  • 原文地址:https://www.cnblogs.com/FKdelphi/p/14150376.html
Copyright © 2011-2022 走看看