Coder Social home page Coder Social logo

Why not use QT backend for Unix? about ui HOT 2 CLOSED

andlabs avatar andlabs commented on July 24, 2024
Why not use QT backend for Unix?

from ui.

Comments (2)

gour avatar gour commented on July 24, 2024

Probably because it is easier to bind to than C++ library...however, I also believe that Qt is better option today.

from ui.

andlabs avatar andlabs commented on July 24, 2024

Several reasons:

  • I didn't want to lug around a large C++ dependency (GLib/GTK+ may be somewhat large but they aren't nearly as massive binary-wise as QtCore/QtGUI by themselves)
  • Qt already does everything package ui aims to do (this is a weak argument, since I am using GTK+, but)
  • existing Qt bindings for Go are not compatible with the go tool; I wanted to keep go tool support in mind
  • Qt is not actually a native platform toolkit: it draws everything itself on all platforms (only not an issue on Unix systems)
  • my experience with Qt on Mac and Linux is that it works fine; but my Qt software on Windows would crash consistently doing things other Qt programs can do just fine (like right-clicking on a text box)
  • installing Qt on a system where it isn't provided by a system software repository has always felt somewhat clunky to me (especially when crossed with juggling other MinGW installations on Windows!)
    • related: I figured not all Linux distributions would necessarily come with Qt, but most, if not all, would come with GTK+, since more DE-agnostic tools would use GTK+; I'm not sure how true this is (might as well switch to the X Athena Widgets if I really wanted out of the box support on Unix! =P )
  • I'd rather not use QML

That being said, Qt has served as an inspiration for some things, namely the layout object-based widget layout system (Rather than fixed positioning). Its QFormLayout is something I also want to implement (will need to add Label vertical alignment first...). I have used it in the past for projects that are not on github (and cannot be uploaded due to using a nonfree component (1998 MAME's YM2612 emulator core)).

However, I have no intention of dropping everything for Qt now that the project is this far in. Sorry.

from ui.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.