• 46938阅读
  • 57回复

基于QT的界面框架qcanpool(开源) [复制链接]

上一主题 下一主题
离线bigma
 

图酷模式  只看楼主 正序阅读 楼主  发表于: 2018-03-01
github:https://github.com/canpool/qtcanpool
gitee:https://gitee.com/icanpool/qtcanpool


觉得资源不错的,可以捐赠支持作者。

资源说明:
1、FancyBar类,定制的标题栏
2、FancyButton类,定制的按钮,在FancyBar中使用
3、FancyDialog类,定制的对话框,代替QDialog
4、FancyNavBar类,定制的导航栏,类似qtcreator状态栏中的导航
5、FancyNavButton类,定制的按钮,在FancyNavBar中使用
6、FancyTabWidget类,仿qtcreator模式栏+中心区,类似QTabWidget
7、FancyTabBar类,仿qtcreator模式栏,类似QTabBar
8、FancyTab类,定制的按钮,在QTabBar中使用
9、FancyWindow类,定制的window,代替QMainWindow
10、IMode类,仿qtcreator左侧的模式
11、IModeBar类,仿360功能模式
12、IModeButton类,定制的按钮,在模式栏中使用
13、MiniCard类,一种卡片式显示
14、MiniSplitter类,简便的QSplitter
15、MiniStack类,一种可收缩的桟显示
16、ModeManager类,管理有IMode构建的模式
17、QCanpool类,包含通用的静态方法
18、QuickAccessBar类,仿ribbon的快速访问栏
19、ScreenHelper类,在多屏中显示处理
20、SimpleFilter类,简单的过滤器,可用于QTableWidget、QTreeWidget、QTreeView
21、SkinItem类,皮肤项
22、TinyTabWidget类,定制的TabWidget,代替QTabWidget


        除不具备拖放到屏幕边缘出现气泡框和拖放到左右侧分屏显示外,windows下的诸如双击标题栏最大化、最小化;最大化时,鼠标拖拽标题栏还原显示;拖拽到屏幕最顶最大化显示;非最大化显示时,支持鼠标拖拽改变大小;多屏显示时,自动判别所处屏幕等都已具备。




成品效果图:





简单教程:http://blog.csdn.net/mmjbigma/article/details/79427537







离线vanhondong

只看该作者 57楼 发表于: 2021-08-16
作者可以考虑学习web技术
离线bigma

只看该作者 56楼 发表于: 2020-10-26
回 咸鱼一条 的帖子
咸鱼一条:逼格马 方便加个联系方式沟通吗 我看到fancybar里1000多行代码 懵逼了  全是手动码的嘛?? (2020-10-23 09:37) 

仓库上readme有qq群的,欢迎加入,最近在购买qtitanribbon,感兴趣可以参与
离线咸鱼一条

只看该作者 55楼 发表于: 2020-10-23
回 bigma 的帖子
bigma:没有教程呢,有一个csdn的简单设计教程,另外整个框架是借用qtcreator的,你可以网上搜一下相关教程看看,会有很多收益的 (2020-10-21 20:59) 

逼格马 方便加个联系方式沟通吗 我看到fancybar里1000多行代码 懵逼了  全是手动码的嘛??
离线bigma

只看该作者 54楼 发表于: 2020-10-21
回 咸鱼一条 的帖子
咸鱼一条:楼主你好 可以出一个使用教学吗 (2020-09-27 13:30) 

没有教程呢,有一个csdn的简单设计教程,另外整个框架是借用qtcreator的,你可以网上搜一下相关教程看看,会有很多收益的
离线咸鱼一条

只看该作者 53楼 发表于: 2020-09-27
楼主你好 可以出一个使用教学吗
离线咸鱼一条

只看该作者 52楼 发表于: 2020-09-25
楼主你好,这个界面很好看呀!尤其是fancydemo 请问有使用教程吗
离线zhpic

只看该作者 51楼 发表于: 2020-08-31
这好东西需要收藏起来。
离线clickto

只看该作者 50楼 发表于: 2020-08-28
setCentralWidget();

示例中是使用了一个FancyTabWidget,你可以使用一个QWidget试试看
离线clickto

只看该作者 49楼 发表于: 2020-08-26
minimumwidth只是设置了最小宽度,它仍然可以变宽,只不过变窄的最小值是你设置的值。
你如果要限制它的最大宽度,需要设置maxmumwidth
离线trunzi

只看该作者 48楼 发表于: 2019-10-10
    
离线woniu蜗牛

只看该作者 47楼 发表于: 2019-09-30
好厉害啊。。。学习中!
离线bigma

只看该作者 46楼 发表于: 2019-08-17
回 ljt8015 的帖子
ljt8015:[图片]
有这个项目的源码吗?
....... (2019-08-12 19:33) 

开源工程里没有
离线khedive

只看该作者 45楼 发表于: 2019-08-14
不得不赞一句
离线ljt8015

只看该作者 44楼 发表于: 2019-08-12



有这个项目的源码吗?

离线colindemon

只看该作者 43楼 发表于: 2019-07-25
回 bigma 的帖子
bigma:不应该啊,我适配了多屏显示,看下qcanpool/screenhelper.cpp (2019-07-22 22:20) 

好,谢谢你,我仔细瞅瞅
黑夜给了我黑色眼睛,我却用它去寻找光明
离线bigma

只看该作者 42楼 发表于: 2019-07-22
回 colindemon 的帖子
colindemon:请问一下楼主大神,我用你的Canpool框架做二次开发。我现在有两个屏,把Canpool程序最大化后,程序总是出现在主屏上,那怕是我把程序移动到副屏再最大化,程序还是会跑到主屏上。 (2019-07-22 20:27) 

不应该啊,我适配了多屏显示,看下qcanpool/screenhelper.cpp
离线colindemon

只看该作者 41楼 发表于: 2019-07-22
请问一下楼主大神,我用你的Canpool框架做二次开发。我现在有两个屏,把Canpool程序最大化后,程序总是出现在主屏上,那怕是我把程序移动到副屏再最大化,程序还是会跑到主屏上。
黑夜给了我黑色眼睛,我却用它去寻找光明
离线wandaxia

只看该作者 40楼 发表于: 2019-07-14
又出了一个神人
离线bigma

只看该作者 39楼 发表于: 2019-07-11
回 loks135 的帖子
loks135:楼主,我去掉一部分中文注释,编译的时候报错了:rcslicense.cpp”中的 #if/#endif 对不匹配 (2019-07-11 18:55)

这个是直接拿的模块,我没优化过,接下来我优化下吧(暂时先把这个模块移除,写的不好)
备注:mingw下是没问题的,如果使用别的编译器,可能是中文编码问题


离线loks135

只看该作者 38楼 发表于: 2019-07-11
楼主,我去掉一部分中文注释,编译的时候报错了:rcslicense.cpp”中的 #if/#endif 对不匹配
离线bigma

只看该作者 37楼 发表于: 2019-07-06
回 colindemon 的帖子
colindemon:
真正的大神,就应该像楼主这样,完全开源。楼主这个代码应该比刘大师的自定义控件含金量不说高100倍,高99倍不过分吧,可以人家刘大师还弄个“永久开源dll”,神马玩意儿……

    可不能这么说,人家也贡献很大,不完全开源也要理解。
    很多年前就看到刘大师分享的控件,一直也想研究学习搞出来一套,然后完全开源。可是限于能力、精力一直没有排入计划(目前工作中用不到Qt,基本都是业余时间学习学习)。最近浏览论坛,突然发现刘大师搞了一波大动作,前几页全是关于各种控件的帖子,一时间兴奋不已,刘大师终于“开源”了……
    尽管只开放了部分核心代码,但是如果对某个控件有需要,还是挺有参考意义的。我在src\modules\qcustomcontrols下整理了部分自绘控件,有需要别的控件,可以参考自绘(需要花点时间研究的,等你做的时候,就能体会到作者的不容易,不开源也就可以理解了)。如果你有精美的控件,也欢迎pull request到仓库,共同努力。
    备注:我没能把帖子中所涉及的控件都整理完,因为原作者未完全开源,整理确实是挺花时间的,因此只能整理部分。
离线colindemon

只看该作者 36楼 发表于: 2019-07-05
真正的大神,就应该像楼主这样,完全开源。楼主这个代码应该比刘大师的自定义控件含金量不说高100倍,高99倍不过分吧,可以人家刘大师还弄个“永久开源dll”,神马玩意儿……
黑夜给了我黑色眼睛,我却用它去寻找光明
离线lsyzsl

只看该作者 35楼 发表于: 2019-06-20
卡片式显示可否给看下效果?
离线bigma

只看该作者 34楼 发表于: 2019-06-19
回 0okmijn098 的帖子
0okmijn098:楼主 需捐赠多少可学习下?
 (2019-06-17 10:30) 

现在不用捐赠的,源码可以直接下来使用,就是希望有改善的地方可以推送给我
离线0okmijn098

只看该作者 33楼 发表于: 2019-06-17
楼主 需捐赠多少可学习下?
离线bigma

只看该作者 32楼 发表于: 2019-06-13
回 tianshq 的帖子
tianshq:感谢楼主分享,另外,发现几处bug,会有死循环,占用cpu,如下:在paintEvent中调用setStyleSheet,有几个类中有类似的bug
void FancyButton::setColor(const QColor &color)
{
    if (m_hasBorder) {
         .. (2019-05-27 19:22) 

要是早看到就好了,别人向我反映了这个问题,我调了两晚上才解决,现在已更新
离线toby520

只看该作者 31楼 发表于: 2019-05-28
QtQML多多指教开发社区 http://qtclub.heilqt.com
将QtCoding进行到底
关注移动互联网,关注金融
开发跨平台客户端,服务于金融行业
专业定制界面
群号:312125701   373955953(qml控件定做)
离线tianshq

只看该作者 30楼 发表于: 2019-05-27
感谢楼主分享,另外,发现几处bug,会有死循环,占用cpu,如下:在paintEvent中调用setStyleSheet,有几个类中有类似的bug
void FancyButton::setColor(const QColor &color)
{
    if (m_hasBorder) {
        setStyleSheet(QString("QToolButton::menu-indicator { image: None; }"
            "QToolButton{background-color: transparent;color: #%1;}")
            .arg(QCanpool::colorToArgb(color)));
    }
    else {
        setStyleSheet(QString("QToolButton::menu-indicator { image: None; }"
            "QToolButton{background-color: transparent;color: #%1;border:none;}")
            .arg(QCanpool::colorToArgb(color)));
    }
}

void FancyButton::paintEvent(QPaintEvent *event)
{
    if (m_bMousePress) {
        painterInfo(m_pressColor);
    } else if (m_bMouseHover) {
        painterInfo(m_hoverColor);
    } else {
       setColor(m_textColor);

        if (m_normalColor.isValid()) {
            painterInfo(m_normalColor);
        }
    }

    QToolButton::paintEvent(event);
}

只看该作者 29楼 发表于: 2019-02-07
请问您的QT版本是?
离线bigma

只看该作者 28楼 发表于: 2018-07-21
回复顶上去,快沉底了
离线snaillv

只看该作者 27楼 发表于: 2018-06-12
谢谢分享
离线tot_god

只看该作者 26楼 发表于: 2018-05-10
有偿开源吗?最近想搞个项目缺框架
离线bigma

只看该作者 25楼 发表于: 2018-03-17
回 shasidaran 的帖子
shasidaran:
原来是毕古妈姆[表情]  

是逼格马
离线kaikai_king

只看该作者 24楼 发表于: 2018-03-13
膜拜大神
离线liuchangyin

只看该作者 23楼 发表于: 2018-03-13
效果不错
离线hanheyfon

只看该作者 22楼 发表于: 2018-03-13
        
离线shasidaran

只看该作者 21楼 发表于: 2018-03-08
原来是毕古妈姆
离线liudianwu

只看该作者 20楼 发表于: 2018-03-05
回 vitty1984 的帖子
vitty1984:刘大师提供的就很好,每个版本下编译都没问题[表情]  (2018-03-05 10:36) 

谢谢夸奖,其实无非就是注意点qt4到qt5的区别即可,用版本判断即可,比如
#if (QT_VERSION <= QT_VERSION_CHECK(5,0,0))
欢迎关注微信公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发) QQ:517216493  WX:feiyangqingyun  QQ群:751439350
离线bigma

只看该作者 19楼 发表于: 2018-03-05
回 vitty1984 的帖子
vitty1984:建议Qt4和Qt5都提供一个版本,方便我们选择购买啊。 (2018-03-05 10:35) 

可能谈钱伤感情吧,目前愿意了解的屈指可数,由于个人能力有限,目前也就只能做出来这样的效果,更通用,更全面的还需要继续努力
快速回复
限100 字节
 
上一个 下一个