RibbonUI

🌈 A UI library of components written in QML and designed with reference to the Microsoft Ribbon style.

GPL-3.0 License

Stars
72
Committers
4

Bot releases are hidden (Show)

RibbonUI - V1.1.1 New components and improvements Latest Release

Published by mentalfl0w about 1 month ago

Major Update

New components

RibbonMessageBar

  • Classic Style

RibbonMessageBarGroup

  • Classic Style
  • Modern Style

Minor Update

Updated components:

RibbonBackStageView

  1. Add bgColor and menuBgColor properties, now you can customizing the color of page background and menu background.
  2. Fix blur opacity bug for page background.
  3. Add window control buttons for Windows and Linux(#3, Thanks to @mowangshuying).
  4. Property bug fix for Qt 5 and Qt 6.

RibbonTabBar

  1. Make indicator as RibbonBackStageView(#6, Thanks to @mowangshuying).
  2. Add shadow for RibbonMessageBarGroup(modern style).

RibbonWindow

  • Disable blurBehindWindow for Win 10 and below(#5, #9).

RibbonBottomBar

  • Fix the radius bug caused by RibbonBlur.

RibbonPopup,RibbonButton,RibbonTour,RibbonComboBox,RibbonPopupDialog

  • Use the suitable radius(#6) and follow the RibbonBlur's change.

RibbonBlur

  1. Add enableEffect property, now you can control the blur effect's on or off.
  2. Fix the duplicated image/shadow bug.

RibbonRectangle

  1. Fix transparent bug.
  2. Add antialiasing and widen the border as default Rectangle's border.
  3. Property bug fix for Qt 5 and Qt 6.
  4. Add padding property.

RibbonView

  1. Add topBorderFix,bottomBorderFix properties, you can use it to control the height of RibbonView's topBorder or bottomBorder.
  2. Add border calculate for RibbonMessageBarGroup.

RibbonMessageBarGroup

  1. Add the missing rounded property for 'showMessage()'.
  2. Visual effect improved and bug fixed.
  3. Animation improved and blank view bug fixed.
  4. Improve animation and only allow handler visible when message's count large than 1.
  5. Fix topMargin bug in modernStyle.
  6. Property bug fix for Qt 5 and Qt 6.
  7. Improve UI in the modernStyle.

RibbonMessageBar

  • Property bug fix for Qt 5 and Qt 6.

Refactored components:

The following components have been refactored, with better visual effects.

  1. RibbonRectangle
  2. RibbonBlur

Project updates:

  1. Update README with deployment instructions for Windows(#2, Thanks to @MoonBite666), and added latest screenshots.
  2. 3rdparty/qwindowkit: Update to latest.
  3. RibbonUI: Remove the "'AA_EnableHighDpiScaling' is deprecated" warning.
  4. CMakeLists:Update CMake configuration with more instructive comments(#8, Thanks to @scottXchoo).
  5. example: visual effect improved and bug fixed for RibbonMessageBarGroup.
RibbonUI - V1.1.0: More components, functions, improvements and new Qt 5 support

Published by mentalfl0w 4 months ago

Major Update

Platform Support

Finally add support for Qt 5🎉! By relying on the Qt5QMLPlugin, we were able to support both Qt 5 and Qt 6 with minimal differences in the development process and code changes.

Component interface and property

Change all interfaces and properties from underscore nomenclature to camel nomenclature.(YOU WILL NEED TO MODIFY ALL THE RELEVANT CODE IF YOU USE RIBBONUI V1.0.4 AND BELOW!)

New components

RibbonBackStageView

RibbonRadioButton

RibbonProgressBar

RibbonProgressRing

RibbonBusyBar

RibbonBusyRing

RibbonPageIndicator

Lisence change

Change LICENSE to GPL-3.0.

Minor Update

Updated components:

RibbonTabGroup:

  • Add external button and signal, now you can click it to open a new tool window or popup.

RibbonTabBar:

  1. Optimize animation
  2. add Settings button and settingsBtnClicked() signal.
  3. add addPage() and deletePage() function.
  4. Migrate blur effect from RibbonView.

RibbonTabButton:

  • Add highlight property, when it was highlighted, its text color will change.

RibbonTour:

  1. Reduce memory use.
  2. Set default open location to the center of window.
  3. Add RibbonTourItem for convenient use.

RibbonTheme:

  • Add nativeText property, now you can choose to use native render or Qt render for your text.

RibbonPopup:

  • Fix double free content when close the popup.

RibbonBlur:

  1. Fix wrong samples for blur effect.
  2. Add more blur radius chooses.

RibbonBottomBar

  1. Use RibbonRectangle to fix radius bug, avoid it blocking the window's border line.
  2. Migrate blur effect from RibbonView.

RibbonWindow

  1. Add borderWidth and borderHeight properties.
  2. Fix showWindow() in Qt5.

RibbonBackStageView

  1. Fix radius bug, avoid it blocking the window's border line.
  2. Fix opacity bug, sometimes when it twice opened, the opacity will be 0.
  3. Add RibbonBackStageMenuItem for convenient use.

RibbonTitleBar

  1. Add titleIconSource property, now you can set icon for window's titlebar.
  2. Add window active animation for window's buttons in macOS.

RibbonSwitchButton

  • Modify the text's font size.

RibbonCheckBox

  • Modify the button size and the text's font size.

RibbonView

  1. Migrate blur effect to RibbonTabBar and RibbonBottomBar.
  2. Add isMainView property, when the RibbonView is used as "MainView", which is contained RibbonTabBar or RibbonBottomBar, you will need set it to true to let borders be correct, otherwise you need set it to false to avoid the unnecessary borders.

RibbonProgressBar

  • Added more position choice.

Project updates:

  1. Simplified CMakeLists.txt: Such as macOS universal build code and etc..
  2. example: Remove unused files and add more component examples.
  3. Update Github workflows: Combine all workflow files into one, fix MinGW workflow's PATH bug, use Qt's MinGW to compile in order to avoid unknown app execution problems.
RibbonUI - V1.0.4

Published by mentalfl0w 5 months ago

  • New components: RibbonTour, RibbonTourContent, RibbonMessage, RibbonMessageListView
  • Updated components:
    • RibbonWindow:
      1. Improve RibbonPopup's show and close and deprecate RibbonWindow.show_popup() and RibbonWindow.close_popup()(will be removed in next version)
      2. Add window manager to deal with multiple windows(through windowStatus, you can choose different windows open method.)
        1. RibbonWindow.Status.Stardard: Create new window instance whether it already has one or not.
        2. RibbonWindow.Status.SingleTask: If it already has one instance, the current instance will be closed and a new one will be created.
        3. RibbonWindow.Status.SingleInstance: If it already has one instance, the current instance will be activated, no new instance will be created.
      3. Use qwindowkit instead of framelesshelper.
      4. Enable full window background blur for Windows system.
      5. Add a blue border for window, just like Microsoft Word in Windows 11.
    • RibbonBlur:
      • Add a solid background to improve the visual effect.
    • RibbonView:
      • Add more property and delete anchor to fix bugs in some situation.
    • RibbonTitleBar:
      • Add minimumWidth and show_pin_btnproperty.
    • RibbonTabPage:
      • Let it scrollable.
    • RibbonTabBar:
      • Add setPage func.
    • RibbonUI:
      • Code simplified.
  • Project updates:
    1. Simplified CMakeLists.txt.
    2. example: Remove unused files.
    3. Update Github workflows.
RibbonUI - V1.0.3

Published by mentalfl0w 7 months ago

  • CMakeLists Update and simplify: Put framelesshelper into lib_source

  • Update components: RibbonView, RibbonPaperView, RibbonBlur(added solid_bg property for better vision effect), RibbonTitleBar(add "Always on Top" button), RibbonPopup, RibbonPopupDialog(redesigned) and etc.

  • Add new components: RibbonScrollIndicator, RibbonScrollBar.
    More components are on the way.

  • 对CMakeLists进行更新简化:把 framelesshelper 放入 lib_source

  • 更新组件:RibbonView, RibbonPaperView, RibbonBlur(加入solid_bg属性方便调节获得最佳视觉效果), RibbonTitleBar(加入窗口“始终置顶”的按钮), RibbonPopup, RibbonPopupDialog(完全重新设计)等等。

  • 加入新组件: RibbonScrollIndicator, RibbonScrollBar。
    更多组件正在路上。

RibbonUI - V1.0.2

Published by mentalfl0w 8 months ago

  • Add pull up and pull down signals for RibbonView.

  • Use GaussianBlur instead of FastBlur for nicer effect.
    PLEASE NOTE: Since this version, RibbonUI will ONLY support Qt 6.5+

  • 为RibbonView组件添加“下拉顶部/上拉底部信号”

  • 使用高斯模糊替代快速模糊,以获得更好的效果
    请注意:自此版本开始,RibbonUI不再支持Qt 6.5以下的版本

RibbonUI - V1.0.1

Published by mentalfl0w 9 months ago

  • bug fix and optimization.
  • 问题修复和性能优化。
RibbonUI - V1.0.0.0 First release🎉

Published by mentalfl0w about 1 year ago

The first release brings nearly 30 available components, covering most of the Qt basics.

第一个release带来了近30个可用组件,覆盖大部分Qt基本组件。

Related Projects