QtCS2018 QtWidgets: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(add notes)
 
Line 47: Line 47:
= New styling system for Qt 6 =
= New styling system for Qt 6 =


QStyle sucks...should we revisit it for Qt 6?
QStyle: should we revisit it for Qt 6?


* only worthwhile if we can have something shared between widgets and controls
* only worthwhile if we can have something shared between widgets and controls

Revision as of 12:02, 13 June 2018

State of the Union

QtCo took over maintainership from KDAB

  • Jan Arve: layouts
  • Gabriel: style
  • Eskil: text
  • Andreas: graphics view
  • Richard: overall
  • still unassigned: stylesheets, windows and dialogs

JIRA

  • currently no P0 bugs
  • 60 P1 bugs, 24 have no assignees
  • 781 P2 bugs, 273 have no assignees
  • < 1000 P3, 311 with no assignee
  • 311: P4-P5
  • Total: more than 1800 bugs

Probably many duplicates, many corner cases

  • During the last year: ~500 patches, ~200 bugs fixed
  • 43 non-bug Tasks, mostly assigned

So, lots of bugs to work on, that's the focus now.

  • Not enough manpower, we need help from the community
  • Fixing bugs tends to create more (especially with dock widget or mdi)

Possible new features

We have a green light, everybody knows it's important to customers, but not enough manpower. Also,
not a lot of good ideas lately. Should we continue fixing bugs mainly, and/or start adding more features; if so, what?

  • Ribbon? but MS has patents and had a lawsuit threat; but ribbons are appearing in their products on non-Windows platforms anyway, and on OpenOffice etc.
  • Charting features, but they are kindof independent
  • Notifications (beyond QSystemTrayIcon)
  • Hamburger menu
  • Putting stuff into the titlebar
  • Selector buttons
  • Segmented buttons
  • Switches
  • Anything else that Pencil or Balsamiq has, that we don't have
  • Client-side window decorations
  • Finger hit detection, smarter than taking the middle of the touchpoint somehow
  • Text selection

New styling system for Qt 6

QStyle: should we revisit it for Qt 6?

  • only worthwhile if we can have something shared between widgets and controls
  • dependency only on QtGui
  • idea: use QtQuick for styling?
  • customers like widgets with quirks... sometimes by subclassing, sometimes by custom styles
    • no template pattern for QStyleOption, e.g. for QLineEdit, QComboBox - you need to redo too much work to customize it
  • idea: physics and lighting
  • more generalized QPalette
    • KDE has a bigger one
    • or, unify the style and the palette
  • image-based style for widgets?
  • mobile styles, e.g. Android
  • ship fancier cross-platform styles like Controls 2 has

More ideas & discussion points

  • Portability of widget apps to mobile?
  • Use the scene graph?
    • But why take the risk... just make QtQuick better, have native styles in Controls etc.
    • If QtQuick C++ APIs are familiar enough, it might help people to switch
  • embedding QtQuick in native or widget-based applications
  • per-platform UIs, just as you can already do in QML
  • native UIs with Qt backend is sometimes worthwhile, c.f. Microsoft OneDrive
  • mobile often comes first nowadays
  • "100% native looking" (whatever that means)
  • have to respect all native conventions like right click time and reverse scrolling regardless of style
  • Widgets ain't broke so don't fix it too much.
  • We will keep supporting widgets for the foreseeable future
  • QML might never replace widgets (that was Nokia thinking)

State of the Union

QtCo took over maintainership from KDAB

  • Jan Arve: layouts
  • Gabriel: style
  • Eskil: text
  • Andrea: graphics view
  • Richard: overall
  • still unassigned: stylesheets, windows and dialogs

JIRA

  • currently no P0 bugs
  • 60 P1 bugs, 24 have no assignees
  • 781 P2 bugs, 273 have no assignees
  • < 1000 P3, 311 with no assignee
  • 311: P4-P5
  • Total: more than 1800 bugs

Probably many duplicates, many corner cases

  • During the last year: ~500 patches, ~200 bugs fixed
  • 43 non-bug Tasks, mostly assigned

So, lots of bugs to work on, that's the focus now.

  • Not enough manpower, we need help from the community
  • Fixing bugs tends to create more (especially with dock widget or mdi)

Possible new features

We have a green light, everybody knows it's important to customers, but not enough manpower. Also,
not a lot of good ideas lately. Should we continue fixing bugs mainly, and/or start adding more features; if so, what?

  • Ribbon? but MS has patents and had a lawsuit threat; but ribbons are appearing in their products on non-Windows platforms anyway, and on OpenOffice etc.
  • Charting features, but they are kindof independent
  • Notifications (beyond QSystemTrayIcon)
  • Hamburger menu
  • Putting stuff into the titlebar
  • Selector buttons
  • Segmented buttons
  • Switches
  • Anything else that Pencil or Balsamiq has, that we don't have
  • Client-side window decorations
  • Finger hit detection, smarter than taking the middle of the touchpoint somehow
  • Text selection

New styling system for Qt 6

QStyle: should we revisit it for Qt 6?

  • only worthwhile if we can have something shared between widgets and controls
  • dependency only on QtGui
  • idea: use QtQuick for styling?
  • customers like widgets with quirks... sometimes by subclassing, sometimes by custom styles
    • no template pattern for QStyleOption, e.g. for QLineEdit, QComboBox - you need to redo too much work to customize it
  • idea: physics and lighting
  • more generalized QPalette
    • KDE has a bigger one
    • or, unify the style and the palette
  • image-based style for widgets?
  • mobile styles, e.g. Android
  • ship fancier cross-platform styles like Controls 2 has

More ideas & discussion points

  • Portability of widget apps to mobile?
  • Use the scene graph?
    • But why take the risk... just make QtQuick better, have native styles in Controls etc.
    • If QtQuick C++ APIs are familiar enough, it might help people to switch
  • embedding QtQuick in native or widget-based applications
  • per-platform UIs, just as you can already do in QML
  • native UIs with Qt backend is sometimes worthwhile, c.f. Microsoft OneDrive
  • mobile often comes first nowadays
  • "100% native looking" (whatever that means)
  • have to respect all native conventions like right click time and reverse scrolling regardless of style
  • Widgets ain't broke so don't fix it too much.
  • We will keep supporting widgets for the foreseeable future
  • QML might never replace widgets (that was Nokia thinking)