精华内容
下载资源
问答
  • QT 扁平化界面风格,看起来很像移动端的界面,大气,扁平化走起
  • 很多小伙伴接触到了Qt编程,就是拖拽后就不处理了,心理想做出来一些界面不知道如何去做,其实qt 的 qss 是非常方便的,话不多说,先上图吧: 这是一个非常简单的一个界面,当我们鼠标碰到按钮的时候: ...

           很多小伙伴接触到了Qt编程,就是拖拽后就不处理了,心理想做出来一些界面不知道如何去做,其实qt 的 qss 是非常方便的,话不多说,先上图吧:

        

    这是一个非常简单的一个界面,当我们鼠标碰到按钮的时候:

    输入,账号密码后:

     程序的例子我放到云盘了,需要可以下载:

    链接:qt程序   提取码:j4pq 

    首先,我们要屏蔽掉边框栏,因为系统带的不太好看,如下图:

     

    所以我们要屏蔽掉边框,在你的构造函数添加:

    Dialog::Dialog(QWidget *parent) :
        QDialog(parent),
        ui(new Ui::Dialog)
    {
        ui->setupUi(this);
        this->setWindowFlag(Qt::FramelessWindowHint);
    }

    这样就屏蔽掉了边框栏,这个时候界面没有办法移动了,我们要加下面函数:

    #ifndef DIALOG_H
    #define DIALOG_H
    
    #include <QDialog>
    #include <QMouseEvent>
    namespace Ui {
    class Dialog;
    }
    
    class Dialog : public QDialog
    {
        Q_OBJECT
    protected:
        void mousePressEvent(QMouseEvent *e);
        void mouseMoveEvent(QMouseEvent *e);
        void mouseReleaseEvent(QMouseEvent *e);
    
    public:
        explicit Dialog(QWidget *parent = nullptr);
        ~Dialog();
    
    private:
        Ui::Dialog *ui;
        QPoint last;
    };
    
    #endif // DIALOG_H
    

    对应的cpp文件为:

    #include "dialog.h"
    #include "ui_dialog.h"
    
    void Dialog::mousePressEvent(QMouseEvent *e)
    {
       last= e->globalPos(); //获取当前的点位置
    }
    
    void Dialog::mouseMoveEvent(QMouseEvent *e)
    {
       int posX = e->globalX() - last.x();
       int posY = e->globalY() - last.y();
       last = e->globalPos(); //获取当前位置
       move(x()+posX,y()+posY);
    
    }
    
    void Dialog::mouseReleaseEvent(QMouseEvent *e)
    {
        int posX = e->globalX() - last.x();
        int posY = e->globalY() - last.y();
        move(x()+posX,y()+posY);
    }
    
    Dialog::Dialog(QWidget *parent) :
        QDialog(parent),
        ui(new Ui::Dialog)
    {
        ui->setupUi(this);
        this->setWindowFlag(Qt::FramelessWindowHint);
    }
    
    Dialog::~Dialog()
    {
        delete ui;
    }
    

    下面我们打开ui界面:

    点击界面,右键,选择改变样式,会出来一个界面,在这个界面中添加:

    QDialog{
          background-color: rgb(42, 43, 40);
          color: rgb(255,0,0);
          font: 12pt "宋体";
    }

    background-color   是改变背景色  后面的rgb是对应的颜色,如果你不知道颜色号,点击下面图:

    color 是前景色, font 是字体,学过前端的都知道css ,其实qss 语法与css 基本相同,下面为了简单写把样式表展示出来:

    QLineEdit{
        background-color:rgb(68, 68, 68);
        border:0.5px  groove rgb(85, 255, 255);
        border-radius:5px;
        
        color:rgb(0, 255, 255)
    }
    QPushButton{
      font: 12pt "楷体";
      background-color: rgb(42, 43, 40);
      color:rgb(85, 255, 255);
      border:0px  groove gray;
      border-radius:5px;
      padding: 2px 4px;
      selection-color : rgb(85, 85, 85)
    }
    
    QPushButton:hover{
       background-color:rgb(85, 85, 85)
    }

     QPushButton:hover 就是触发光标移动到按钮的对背景色的改变。

     border 是边框,设置为0px,就是无边框.

     border-radius:5px  设置按钮的圆角度

    项目中的图片是通过Qlabel 加载进来的,小伙伴们如有好看的图片,可以自己添加,改变样式,完成你心中较好的界面。

    欢迎关注我的博客,后期还会有更多有意思的编程等着你哟!

    展开全文
  • 本代码在Qt-v5.10+VS2017环境下测试编译通过。 修复了原代码的编译问题、中文显示问题、OpenCV路径问题,更新OpenCV到v3.4.1。 复制目录下的OpenCV的动态链接库DLL文件到生成目标目录即可正常运行。 Qt Creator下...
  • 本代码在Qt-v5.10+VS2017环境下测试编译通过。 修复了原代码的编译问题、绝大部分中文显示问题、图片显示问题。 更新zlib库到v1.2.11,更新SDL库到v2.0.8,更新FFMpeg库到v4.0。 复制Dll目录下的动态链接库DLL文件到...
  • QLineEdit *nameLineEdit = new QLineEdit(); setTxtQss(nameLineEdit, "#DCE4EC", "#34495E"); QPushButton *m_infoNextButton = new QPushButton(); setBtnQss(m_infoNextButton, &......

     

    QLineEdit *nameLineEdit = new QLineEdit();

    setTxtQss(nameLineEdit, "#DCE4EC", "#34495E");

    QPushButton *m_infoNextButton = new QPushButton();

    setBtnQss(m_infoNextButton, "#34495E", "#FFFFFF", "#4E6D8C", "#F0F0F0", "#2D3E50", "#B8C6D1");

    void setBtnQss(QPushButton *btn, QString normalColor, QString normalTextColor, QString hoverColor, QString hoverTextColor, QString pressedColor, QString pressedTextColor)
    {
    	QStringList qss;
    	qss.append(QString("QPushButton{border-style:none;padding:10px;border-radius:3px;color:%1;background:%2;%3}").arg(normalTextColor).arg(normalColor).arg(QString::fromLocal8Bit(" font-family:'微软雅黑';")));
    	qss.append(QString("QPushButton:hover{color:%1;background:%2;}").arg(hoverTextColor).arg(hoverColor));
    	qss.append(QString("QPushButton:pressed{color:%1;background:%2;}").arg(pressedTextColor).arg(pressedColor));
    	btn->setStyleSheet(qss.join(""));
    }
    void setTxtQss(QLineEdit *txt, QString normalColor, QString focusColor)
    {
    	QStringList qss;
    	qss.append(QString("QLineEdit{border-style:none;padding:6px;border-radius:2px;border:2px solid %1;}").arg(normalColor));
    	qss.append(QString("QLineEdit:focus{border:2px solid %1;}").arg(focusColor));
    	txt->setStyleSheet(qss.join(""));
    }

     

    展开全文
  • qt封装的可以直接设置icon的pushbuttom, 提供了各种函数设置图标, 字体颜色, 图标显示位置, 各种边距登
  • 直接上图先看效果: 核心代码: mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H ...QT_CHARTS_USE_NAMESPACE #include #include #include namespace Ui { class MainWindow; } class MainWindow : pub

    直接上图先看效果:

    核心代码:

    mainwindow.h

    #ifndef MAINWINDOW_H
    #define MAINWINDOW_H
    #include <QtCharts>
    QT_CHARTS_USE_NAMESPACE
    
    #include <QMainWindow>
    #include <QMdiArea>
    #include <QToolButton>
    
    namespace Ui {
    class MainWindow;
    }
    
    class MainWindow : public QMainWindow
    {
        Q_OBJECT
    
    public:
        explicit MainWindow(QWidget *parent = 0);
        ~MainWindow();
    
    private:
        Ui::MainWindow *ui;
        QChart *tpChart;             //定义一个图表
        QMdiArea *tpMdiArea;         //TabWidget子窗口
        QLineSeries *CH1series;      //通道1按钮线
        QLineSeries *CH2series;      //通道2按钮线
        QLineSeries *CH3series;      //通道3按钮线
        QLineSeries *CH4se
    展开全文
  • 扁平化配色

    2018-03-28 13:12:27
    扁平化配色,给做扁平化设计的同学参考使用,比较简单容易上手
  • 代码来源https://download.csdn.net/download/what951006/9541252 本代码在Qt-v5.10+VS2017环境下测试编译通过。 修复了原代码的编译问题、中文显示问题。
  • 扁平风格界面

    2019-04-01 22:31:43
    * FlatUI辅助类 * 1:按钮样式设置 * 2:文本框样式设置 * 3:进度条样式 * 4:滑块条样式 * 5:单选框样式 * 6:滚动条样式 .....
  • qt 扁平化登陆注册页面

    千次阅读 2015-05-21 21:16:08
    看腻了QT俗气的界面,心里总想做个漂亮点的,于是捣腾了这么个小东西(上图...)  class Login : public QDialog {  Q_OBJECT public:  explicit Login(QWidget *parent = 0);  ~Login(); private: ...

    看腻了QT俗气的界面,心里总想做个漂亮点的,于是捣腾了这么个小东西(上图...)

       class Login : public QDialog
    {
        Q_OBJECT

    public:
        explicit Login(QWidget *parent = 0);
        ~Login();

    private:
        Ui::Login *ui;

        QPoint dragVector; //鼠标拖动起始坐标

        void initBackground();

        void mousePressEvent(QMouseEvent *event);
        void mouseMoveEvent(QMouseEvent *event);
        void closeEvent(QCloseEvent *event);


    private slots:
        void on_exit_clicked(); //退出按钮槽函数
        void on_minimum_clicked(); //最小化按钮槽函数
        void on_more_clicked(); //“更多'按钮槽函数
        void on_login_clicked(); //登陆按钮槽函数
        void on_sign_clicked(); //注册按钮槽函数
    }; 


    Login::Login(QWidget *parent) :
        QDialog(parent),
        ui(new Ui::Login)
    {
        ui->setupUi(this);
        initBackground();
    }


    Login::~Login()
    {
        delete ui;
    }


    void Login::initBackground()
    {
        setWindowFlags(Qt::FramelessWindowHint); //去边框
        setFixedSize(427,322); //固定面板大小


        ui->more->setFlat(true); //”更多“按钮
        ui->more->setToolTip(tr("更多"));
        ui->more->setStyleSheet(tr("QPushButton:hover {background-image: url(:/resources/img/btn_back2.png);}"));


        ui->minimum->setFlat(true); //”最小化“按钮
        ui->minimum->setToolTip(tr("最小化"));
        ui->minimum->setStyleSheet(tr("QPushButton:hover {background-image: url(:/resources/img/btn_back2.png);}"));


        ui->exit->setFlat(true); //”退出“按钮
        ui->exit->setToolTip(tr("退出"));
        ui->exit->setStyleSheet(tr("QPushButton:hover {background-image: url(:/resources/img/btn_back2.png);}"));


        ui->login->setFlat(true); //”登陆“按钮
        ui->login->setToolTip(tr("登陆"));
        ui->login->setStyleSheet(tr("QPushButton {background-image: url(:/resources/img/login_btn.jpg);}"));


        ui->sign->setFlat(true); //”注册“按钮
        ui->sign->setToolTip(tr("新用户注册"));
    }


    void Login::mousePressEvent(QMouseEvent *event)
    {
        if(event->button() == Qt::LeftButton)
        {
            dragVector = event->globalPos() - frameGeometry().topLeft();
            event->accept();
        }
    }


    void Login::mouseMoveEvent(QMouseEvent *event)
    {
        if(event->buttons() && Qt::LeftButton)
        {
            move(event->globalPos() - dragVector);
            event->accept();
        }
    }


    void Login::closeEvent(QCloseEvent *event)
    {
        done(QDialog::Rejected);
        event->accept();
    }


    void Login::on_exit_clicked()
    {
        done(QDialog::Rejected);
    }


    void Login::on_minimum_clicked()
    {
        showMinimized();
    }


    void Login::on_more_clicked()
    {
        //显示更多配置选择
    }


    void Login::on_login_clicked()
    {
        /* if user_name is not exist
         * clean user_name and user_password lineEidt
         * give tips "user is not exit" in user_name lineEdit
         * return
         *
         * if user_name is exist and user_password is not equal with that in db
         * clean the user_password lineEidt
         * give tips "password is not correct" in user_password lineEdit
         * return
         *
         * done(QDialog::Accepted)
         */
    }


    void Login::on_sign_clicked()
    {

        //注册对话框
    }


    注意事项:

    (1)对QPushButton进行了setFlat(true)之后,使用QSS方式设置按钮背景颜色将无效,只有鼠标点击时效果才会显示出来。

    (2)将QDialog设置为无边框形式后将不能拖动,此时可以重写mousePressEvent后mouseMoveEvent实现拖动,具体见代码


    展开全文
  • Qt开源作品9-扁平化样式flatui

    千次阅读 2020-05-14 09:38:01
    对于现在做前端开发人员来说,FlatUI肯定不陌生,最近几年扁平化的设计越来越流行,大概由于现在PC端和移动端的设备的分辨率越来越高,扁平化反而看起来更让人愉悦,而通过渐变色产生的质感色彩反而没有扁平化来得...
  • Qt程序,成绩管理系统,使用QSS文件进行样式管理,采用现在比较流行的扁平化的设计风格~ 详情参考我的博客~
  • 扁平化你的Qt应用程序

    万次阅读 2014-10-17 15:58:13
    扁平化设置widget背景两种方法,第一
  • Qt 扁平化MainWindow以及自定义标题栏

    万次阅读 2015-11-10 02:32:04
    为了构建出自己认为优雅的界面,需要将Qt自带标题栏啥的去掉。 首先使用Qt Designer创建一个MainWindow的类。mainwindow.h#ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow>namespace Ui { class ...
  • 这是我的一个娱乐程序。之所以花了点时间做,是因为在寒假的时候,每次都要在学校的...扁平化UI 的设计风格。 平台 :Qt 5.2.0 下载链接 : http://download.csdn.net/detail/mahabharata_/9744181 截图 :
  • 找遍百度谷歌,潜心钻研官方QSS应用示例http://qt-project.org/doc/qt-4.8/stylesheet-examples.html,陆续完善三个月,终于得出一套自定义UI的QSS方案,只需要查找替换对应七个颜色值,就可制作出一套精美皮肤!
  • I've seen a couple answers on how to flatten lists of the form[1,[1,2],[3]]print list(itertools.chain(*[1,[1,2],[3]]))but how do you flatten lists like this:[[1],[[1,2],[3]]]print list(itertools.chain...
  • 在ui界面实现简单图形的绘制,在ui界面的widget控件提升为QChartView(png图片,代码截图)
  • qt界面样式风格

    2017-07-04 09:36:22
    压缩包里是qt的7种qss样式风格,其中有一个我最喜欢的黑色风格,是我花了很大精力搜集到的。资源分10分,是不会让你失望的。
  • QT5 仿360 11 设置界面, 可以直接拿到项目中使用,不错的代码
  • 关键字:QT,QComboBox,QLineEdit,QListView,QPushButton,QMenu,QWidgetAction,setStyleSheet OS:Windows 7 方法一:QComboBox+QLineEdit+QListView 相关问题链接:QComboBox: Can we make the entire ...
  • 1、扁平化按钮 2、无边框窗口 3、按钮加图片 4、鼠标划过按钮变化 1、扁平化按钮 扁平化不绘制按钮的背景颜色和边框,看起来就像和父控件在一个平面上,通过setFlat()来设置,效果对比如下所示: stylesheet...
  • Qt样式表学习之路.zip

    2020-11-23 10:34:27
    Qss 是用来设置界面样式的设置的方法就是类似于 CSS,通过以一定规则组 织的字符串来给界面设置样式, 而不用我们调用控件对象的接口或子类 QStyle 去设置样式
  • Qt编写自定义控件70-扁平化flatui

    千次阅读 2019-10-15 08:33:24
    对于现在做前端开发人员来说,FlatUI肯定不陌生,最近几年扁平化的设计越来越流行,大概由于现在PC端和移动端的设备的分辨率越来越高,扁平化反而看起来更让人愉悦,而通过渐变色产生的质感色彩反而没有扁平化来得...
  • Qt实现的FlatUI样式

    千次下载 热门讨论 2016-12-11 16:06:35
    既然是扁平化设计框架的优秀代表,当然需要在自己项目中应用应用,Qt中的qss机制,和css极为相似,感觉就是脱胎于css,用qss来实现Qt界面样式不是一般的方便,而是相当的爽,在看到FlatUI这样的精美的扁平化设计样式...
  • 一、前言对于现在做前端开发人员来说,FlatUI肯定不陌生,最近几年扁平化的设计越来越流行,大概由于现在PC端和移动端的设备的分辨率越来越高,扁平化反而看起来更让人愉悦,而通过渐变色产生的质感色彩反而没有扁平...
  • 扁平化

    2014-03-04 14:01:44
    1、扁平化flat-design-principles/ http://www.pingwest.com/flat-design-principles/

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 585
精华内容 234
关键字:

qt扁平化