高仿花生壳客户端程序(qt)

高仿花生壳客户端程序

前言

设计的初想是在现场调试的时候,使用花生壳进行远程时,感受相似花生壳这种程序的模板较为广泛,当时和同事打趣说一个星期内能够作出一摸同样的界面,回到公司正好遇上离职,有时间想作一些东西,看到花生壳程序程序,瞬间想拿他用qt练手,因而三天时间仿制了该界面。git

原生界面
仿制界面

开发

基于QT5.12.10 MSVC2015 进行设计,目前只测试过64位的编译和运行,没有进行详细的测试,仅供参考。github

配色基本使用qss进行完成,包括图像的切换等,可是qss写的时候比较散乱,都是在designer中直接进行书写,通常会在要设置的控件的父元素中进行设置,部分直接在当前控件中进行设置,因此阅读起来可能要本身找一下,若是有癖好的也能够把qss弄成全局的文件进行读写,自由修改吧,小伙伴们!less

下面介绍一下设计中的关键要点函数

  1. 无标题栏 无边框学习

    这个比较简单,在主窗口的构造函数中直接添加测试

    setWindowFlags(Qt::FramelessWindowHint);
    setAttribute(Qt::WA_StyledBackground);
  2. 自定义标题栏网站

    这个需求目前也比较多,原理无非就是本身片断鼠标的行为和可拖动的区域,经过重写如下的函数完成设置区域的dragable的属性设计

    virtual void mousePressEvent(QMouseEvent *event);
    virtual void mouseReleaseEvent(QMouseEvent *event);
    virtual void mouseMoveEvent(QMouseEvent *event);
  3. tab按钮的状态保持调试

    tab标签按钮这个是在作一个其余项目中遇到的,由于有几个状态的显示问题,因此单纯的使用qss没法完成。问题主要是在图标和问题同时显示而且要切换图标和点击选择之后维持状态的问题
    我当时是写了一个QToolPushButton的类进行状态图标的控制,使用qss完成文字等的状态切换,若是你们有更好的方案,能够更改。code

  1. 其余

    该界面只是仿制向日葵程序的界面进行交流学习,界面的解释和使用权归该软件的公司;

    程序界面并不是1:1还原,大小、颜色等有出入。

    对于程序中使用的图标都来自iconfont网站;

    欢迎G友进行完善!!

Github:https://github.com/vvck/SunloginClient

相关文章
相关标签/搜索