0
点赞
收藏
分享

微信扫一扫

【QSS 样式与CSS样式有什么区别?】

茗越 2022-03-31 阅读 79
qt

QSS没有shawdow-box属性;但是CSS有shawdow-box属性属性,

Qt [1]  是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,Qt很容易扩展,并且允许真正地组件编程。

2008年,Qt Company科技被诺基亚公司收购,Qt也因此成为诺基亚旗下的编程语言工具。2012年,Qt被Digia收购。

2014年4月,跨平台集成开发环境Qt Creator 3.1.0正式发布,实现了对于iOS的完全支持,新增WinRT、Beautifier等插件,废弃了无Python接口的GDB调试支持,集成了基于Clang的C/C++代码模块,并对Android支持做出了调整,至此实现了全面支持iOS、Android、WP,它提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西。

外文名

Qt

软件平台

Windows,Linux和macOS

开发商

Qt Company

软件授权

商业授权、LGPL、GPL

了setstylesheet没有阴影效果,也没搜到。
QPushButton:hover,pressed也不太行,checked试了没反应不知道为啥
1、 给N个按钮 安装 事件过滤器 eventFilter
ui->btn1->installEventFilter(this);
8个按钮都添加上
2、 在主窗口 某某某.h 头文件中添加
bool eventFilter(QObject *target, QEvent *e);

3、 在主窗口 某某某.cpp 中添加 事件过滤器代码
先添加#include 阴影效果

不要在函数内定义,就复制到 mainwindow那个大括号;


        if(e->type()==QEvent::MouseButtonPress)    //选中按钮1
        {
            ui->Btn_1->setStyleSheet("background-color:black;border-radius:10px;border:4px solid SkyBlue;");//设置按钮1点击后的样式
            ui->Btn_1->setGraphicsEffect(shadow_effect);//设置阴影
            ui->Btn_2->setGraphicsEffect(no_shadow_effect);//其他按钮不显示阴影
            //N个按钮就重复N次,很麻烦
        }
        else if (e->type()==QEvent::FocusOut)     //未选中按钮1
        {

            ui->Btn_1->setGraphicsEffect(no_shadow_effect);//设置无阴影效果
            ui->Btn_1->setStyleSheet("background-color:black;");//设置回原来的样式
        }
    }
    
    return QMainWindow::eventFilter(target, e);
————————————————

————————————————

举报

相关推荐

0 条评论