zoukankan      html  css  js  c++  java
  • Qt自定义窗体,边框,圆角窗体

    MainWindow::MainWindow(QWidget*parent):
    QMainWindow(parent),
    ui(new Ui::MainWindow)
    {
    setAttribute(Qt::WA_TranslucentBackground);//支持alpha通道!!!
    setAttribute(Qt::WA_NoSystemBackground);//不自动绘制背景
    setWindowFlags(Qt::FramelessWindowHint);//无边框
    backPix.load("://background.png");
    ui->setupUi(this);
    resize(backPix.size());
    }
    
    
    MainWindow::~MainWindow()
    {
    deleteui;
    }
    //准备一张处理好的圆角,带边框的图片,当然边框也可以直接使用QPainter绘制,但圆角就不好处理了
    
    
    voidMainWindow::paintEvent(QPaintEvent*e)//需要参数,否则无法调用绘制事件
    {
    QPainterpaint(this);
    paint.drawPixmap(backPix.rect(),backPix);//绘制背景图片
    
    
    qDebug()<<"paintEvent";
    
    
    }

    这是我的P好的一张图片


    这是程序运行的结果



    P图提示,选择矩形圆角工具——》画出选区——》描边——》执行反选命令——》delete——》保存为png透明格式即可!










    通过代码描边


    QPainter  paint(this);
    
    
    QPen   pen(QColor(138,135,122));
    
    
    pen.setWidth(2);
    
    
    paint.setPen(pen);
    
    
    paint.drawRect(0,0,width(),height());

    效果如下:


  • 相关阅读:
    CSS display使用
    WPF触发器
    WPF动画2
    WPF动画2
    WPF 动画1
    CSS 媒体查询
    [Leetcode] Rotate List
    [Leetcode] Add Two Numbers
    [Leetcode] Sort List
    [Leetcode] Reverse Linked List II
  • 原文地址:https://www.cnblogs.com/lzh-Linux/p/3769071.html
Copyright © 2011-2022 走看看