Qt: Philosophical Dilemma of User Interface Design

Our desktop application should run on Mac, Windows, and Linux. That's why we chose Qt. We used to have three separate code bases for these three platforms.

In the old implementation, we drew our own window title with the Close, Minimize, Maximize buttons. It looks the same on all three platforms.

This time I'm not sure. I thought about letting Qt use any default label and title buttons for each platform, the rectangular “X”, “_” buttons, the round buttons on the left side on the Mac, and anything else with Linux / Ubuntu, etc. d.

Is this a wise decision? One of the things pushing me is that I have to write resize code for the window class that I am writing, drag and drop code, the button works and everything else that involves writing my own window title.

I noticed that if I use this, "Qt :: FramelessWindowHint" to remove the title, I will automatically lose my size. Is there any way around this? Also, how could you implement your own drag-and-drop code? (assuming you knew the area that you want to use as the “drag and drop label.” It looks like I need to catch a button on this section, enter drag and drop mode, track mouse movements and move windows according to deltas. Similarly for resizing. I did this on other platforms before, but I wanted to ask if Qt has a mechanism that allows me to do this out of the box?

+5
source share
3 answers

, QT

, . Mac, , "" , . Windows . Mac Style - , .

( ) , .

"" . .

+11

- , . : - . , .

, . , , , , . .

+1

, UI Design , . , , , , .

For example, Apple is pretty strict with its own user interface design, so Mac users expect the tool to work in a certain way.

This also applies to shortcuts, and this is probably the hardest part because OS X, Linux, and Windows have their own keyboard shortcuts, and finding the right combination is not always easy.

0
source

All Articles