Page 1 of 3 123 LastLast
Results 1 to 20 of 46

Thread: QSkinWindows Classes

  1. #1
    Join Date
    Jan 2007
    Posts
    177
    Thanks
    8
    Thanked 10 Times in 9 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default QSkinWindows Classes

    Hello again!
    Heres an new Version of my Classes. Please close the other thread. He went too big.
    New:
    -> For Both Linux + Windows
    -> ARGB under Windows / not under Linux
    -> Buttons can glow under Mouse
    Attached Files Attached Files

  2. #2
    Join Date
    Feb 2006
    Location
    Romania
    Posts
    2,744
    Thanks
    8
    Thanked 541 Times in 521 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: QSkinWindows Classes

    Next time put some screenshots in the post .
    We already know what the code can do(at least me), now just want to see how it looks.

  3. #3
    Join Date
    Jan 2007
    Posts
    177
    Thanks
    8
    Thanked 10 Times in 9 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: QSkinWindows Classes

    Screenshot:
    Attached Images Attached Images

  4. The following user says thank you to kernel_panic for this useful post:


  5. #4
    Join Date
    Jan 2007
    Posts
    177
    Thanks
    8
    Thanked 10 Times in 9 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: QSkinWindows Classes

    Now the classes are available at qt-apps.org
    Please take a look, because they now have an option which makes widgets look like
    Vista Aero Widgets.
    http://qt-apps.org/content/show.php?content=67309

  6. #5
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,363
    Thanks
    3
    Thanked 5,012 Times in 4,791 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: QSkinWindows Classes

    I hate to be a spoil-sport, but I have some comments on your work. Don't you think you are entering the competence of a window manager? From what I understand you get rid of standard window decorations by creating frameless windows and draw the "skin" yourself, correct? That's exactly what a window manager is supposed to do. Using your approach one breaks one of the fundamental features of Qt - platform integration. Qt apps are meant to blend into the operating system and look exactly the same as "native" applications. If one changes the theme in the window manager (be it Aero, Aqua or KDE), Qt applications will adjust. This is not the case with your approach (although of course you've done a great job in doing what you did, it looks neat), so the use of your component is really limited. Especially on X11 platforms and when KDE4 enters the scene, your solution will become obsolete on this platform. In my opinion you are doing a step back here - you are "forcing" the programmer to think about low-level things (like borders, decorations, skins, window geometry etc.) instead of hiding those details from him. I admit your solution is pretty, but I'm not sure if it is a step in the right direction.

  7. #6
    Join Date
    Jan 2007
    Posts
    177
    Thanks
    8
    Thanked 10 Times in 9 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: QSkinWindows Classes

    it's not mentured to be used for big apps...
    it's something what you can use for small tools, which shouldn't look like normal apps...
    i understand what you mean, but sometimes it's nice to have another decoration than the normal apps, or?
    For an IDE or an EMail CLient or an internet browser i would never use this classe, because it doesn't fit, but for eg a pdf printer (windows), or chat program it's not bad, or?

  8. #7
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,363
    Thanks
    3
    Thanked 5,012 Times in 4,791 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: QSkinWindows Classes

    The point is that it is the end-user who should decide how the application looks like and not the programmer. Looking at the screenshot you provided I see you actually try to mimic the look of real Windows decorations. The type of application doesn't really matter here.

    I mean that the idea itself is ok, it's just that I think you are doing it on a wrong level. If you implemented it as a window manager decorator or even a QStyle subclass (with some style hacking of course) it would be a general use approach.

  9. #8
    Join Date
    Jan 2007
    Posts
    177
    Thanks
    8
    Thanked 10 Times in 9 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: QSkinWindows Classes

    hm, ok...
    but for style hacking i have to hook the window manager and than it isn't multiplatform anymore....

  10. #9
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,363
    Thanks
    3
    Thanked 5,012 Times in 4,791 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: QSkinWindows Classes

    No no... by the style I mean QStyle and hacking involves things like setting proper pixel metrics and stuff. But really, I have nothing against your approach - I just think its usefulness might be very limited. And of course slower than drawing directly on a widget (actually to the backstore).

  11. #10
    Join Date
    Jan 2007
    Posts
    177
    Thanks
    8
    Thanked 10 Times in 9 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: QSkinWindows Classes

    how can i do this?
    show me code and i will try!

  12. #11
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,363
    Thanks
    3
    Thanked 5,012 Times in 4,791 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: QSkinWindows Classes

    I don't have a ready solution for everything.

  13. #12
    Join Date
    Feb 2006
    Location
    Romania
    Posts
    2,744
    Thanks
    8
    Thanked 541 Times in 521 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: QSkinWindows Classes

    Well, it can be done, but styling the title bar and window frame has nothing to do with QStyle, at least not on Win and Mac.

    You can do it relatively easy on Windows, there are lots of resources on codeproject and codeguru, but I have no idea on how can you do it on Mac. There has to be something on developer.apple.com.

    My opinion is that you can get away with making it look good on Win and Linux, but there's another story on Mac. I can't imagine a window like that looking good on that platform. They even have a GUI design guidelines document(it's freely available) on how to make your application integrate with the desktop and the other applications look and feel.

  14. #13
    Join Date
    Jan 2007
    Posts
    177
    Thanks
    8
    Thanked 10 Times in 9 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: QSkinWindows Classes

    Ok now!
    It works and that is all that it should do. and it works on window / linux, all that i wantet. Maybe the way how it does the skinning isn't perfect, but it works.
    If someone has an code example or can me say how to make it better, ill test it. But pls, don't grumble without having a better solution!

    Carpe Diem! Markus

  15. #14
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,363
    Thanks
    3
    Thanked 5,012 Times in 4,791 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: QSkinWindows Classes

    Oh come on! A brainstorm often helps you know. No need to take it personal. If I had a solution ready, I'd just post it instead of pointing out possible weaknesses in yours. And believe me, you wouldn't have to test it just the same as you don't have to agree with me or even read my posts. You can even ignore me completely, this forum's software offers that possibility.

  16. #15
    Join Date
    Feb 2007
    Location
    Philadelphia, USA
    Posts
    255
    Thanks
    43
    Thanked 21 Times in 21 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default Re: QSkinWindows Classes

    Well regardless of whose grumbling and whose taking it personally, I think the software is very nice, and I hope the direction of this thread stays on the positive track it deserves.

    Personally, I intend to use these classes to conveniently make some cool-looking utilities at my workplace -- where few users have interest (or ability) to customize their desktop, and for my kids -- who are too young to realize anything except WOW COOL LOOKING WINDOW!

  17. #16
    Join Date
    Jan 2007
    Posts
    177
    Thanks
    8
    Thanked 10 Times in 9 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: QSkinWindows Classes

    Hey! I'm glad you are interrested in this. i would be glader if you could help me developing something in the way you described, but everything i saw on codeproject and codeguru was deleting the titlebar and setting a label instead. the borders are the same.
    The only thing that could be interresting is that there is shown how to add a shadow. this coukd be interresting. maybe the classes are 0.6 in the next days.

    I think my classes are an easy way of skinning apps and tools and it doesn't matter in the first way how they do it. it just works. but i think it would be interresting to do some window manager hacking. preferential on windows.like stylexp ore window blinds does it.
    But i don't know how to do this...

    But which developer needs something like this just for adding some custom look to a widget?

  18. #17
    Join Date
    Jan 2006
    Posts
    368
    Thanks
    14
    Thanked 18 Times in 17 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: QSkinWindows Classes

    do you mind me asking for a small feature request? It seems some people would like to disable the skined windows. How about having a checkbox which disables your skins and uses the natural window decorations?

    (easier said then done, I know)

  19. #18
    Join Date
    Feb 2006
    Location
    Romania
    Posts
    2,744
    Thanks
    8
    Thanked 541 Times in 521 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: QSkinWindows Classes

    Yes, and I would like to buy the whole package.

  20. #19
    Join Date
    Jan 2007
    Posts
    177
    Thanks
    8
    Thanked 10 Times in 9 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: QSkinWindows Classes

    Buy??? What do you want to buy?

    And the disabling is no problem!
    Will add this.
    For all:
    The SkinConfig wihich is included in the project should be added as a dialog of the app, if the user should change things on the skin.
    i will add the disable feature.

  21. #20
    Join Date
    Feb 2006
    Location
    Romania
    Posts
    2,744
    Thanks
    8
    Thanked 541 Times in 521 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: QSkinWindows Classes

    Yes. I was joking.

Similar Threads

  1. QtTest: Unittesting in several classes
    By Jojo in forum Qt Programming
    Replies: 2
    Last Post: 25th August 2009, 12:38
  2. Design classes in OOP?
    By vql in forum General Programming
    Replies: 5
    Last Post: 25th October 2007, 14:18
  3. Qcj Data classes initial release
    By croftj in forum Qt-based Software
    Replies: 0
    Last Post: 1st May 2007, 02:51
  4. Adding nonQt classes to QtApplication
    By codebehind in forum Newbie
    Replies: 11
    Last Post: 23rd April 2007, 21:08
  5. How to search a string in xml file with Qt Dom classes
    By doganay44 in forum Qt Programming
    Replies: 2
    Last Post: 5th October 2006, 20:16

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.