I can't find any CAD programs in Linux that are intuitive. They are all cubersome to use compared to AutoCAD. For example they don't allow you to type dimensions on the fly while you are dragging a line, or let you make multiple lines at once, or let you quickly select and move/copy chunks of lines etc.... they can all do these things but they require many more steps and are just really tedious to use. So.... I want to code my own CAD program. Sounds like a crazy undertaking and it probably is but I want to at least try. It won't have much in terms of advanced features like scripting or exporting in many different formats etc. I might just try to pick a format that is universal enough then I can always bring it to another CAD program if I need to do stuff that's more advanced. Like maybe VRML or something. As most programs should be able to import that.
So basically, what should I look into for learning how to code such an application? Essentially I want to make a rather standard GUI app that has a menu, tool bars, ability to print, save, open files using the distro's standard functionality for those things. (open dialogs, print dialogs etc). Can someone point me in right direction of what to read up on, any libraries/APIs to look into etc? A quick search points me towards QT, so I will probably read up further on that, but open to other suggestions.
I specified C++ in title, but really I'm willing to learn a new language if there is an easier route. Maybe Python?
So basically, what should I look into for learning how to code such an application? Essentially I want to make a rather standard GUI app that has a menu, tool bars, ability to print, save, open files using the distro's standard functionality for those things. (open dialogs, print dialogs etc). Can someone point me in right direction of what to read up on, any libraries/APIs to look into etc? A quick search points me towards QT, so I will probably read up further on that, but open to other suggestions.
I specified C++ in title, but really I'm willing to learn a new language if there is an easier route. Maybe Python?