473,498 Members | 1,875 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

best GUI library for vector drawing program

Hello,

What would be the best cross-platform GUI library to use for a vector
based CAD program ( something like Visio on Windows ) WxWidgets,
Tk, PyQt, Java Swing, Java SWT,???? I need the capibility to
draw and edit in a window that looks like a page of paper so WYSIWYG
is very important, and I need to save the drawings in vector based
file formats like PS, EPS, SVG, as well as image formats like jpg,
png, and gif. Also, the images need to be high resolution so that
they can be pasted into various other programs in Windows OS, and
Linux OS, and the Mac OS.

Thanks in advance,
Dan

Aug 17 '07 #1
20 3299
chewie54 wrote:
What would be the best cross-platform GUI library to use for a vector
based CAD program ( something like Visio on Windows ) WxWidgets,
Tk, PyQt, Java Swing, Java SWT,???? I need the capibility to
draw and edit in a window that looks like a page of paper so WYSIWYG
is very important, and I need to save the drawings in vector based
file formats like PS, EPS, SVG, as well as image formats like jpg,
png, and gif. Also, the images need to be high resolution so that
they can be pasted into various other programs in Windows OS, and
Linux OS, and the Mac OS.
You might actually consider asking in the 'comp.graphics' hierarchy
instead of the language newsgroups.

V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask
Aug 17 '07 #2
On Aug 17, 9:45 am, "Victor Bazarov" <v.Abaza...@comAcast.netwrote:
chewie54 wrote:
What would be the best cross-platform GUI library to use for a vector
based CAD program ( something like Visio on Windows ) WxWidgets,
Tk, PyQt, Java Swing, Java SWT,???? I need the capibility to
draw and edit in a window that looks like a page of paper so WYSIWYG
is very important, and I need to save the drawings in vector based
file formats like PS, EPS, SVG, as well as image formats like jpg,
png, and gif. Also, the images need to be high resolution so that
they can be pasted into various other programs in Windows OS, and
Linux OS, and the Mac OS.

You might actually consider asking in the 'comp.graphics' hierarchy
instead of the language newsgroups.

V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask
That group doesn't seem to be active anymore.

Aug 17 '07 #3
On Aug 17, 8:27 am, chewie54 <dfabrizi...@gmail.comwrote:
Hello,

What would be the best cross-platform GUI library to use for a vector
based CAD program ( something like Visio on Windows ) WxWidgets,
Tk, PyQt, Java Swing, Java SWT,???? I need the capibility to
draw and edit in a window that looks like a page of paper so WYSIWYG
is very important, and I need to save the drawings in vector based
file formats like PS, EPS, SVG, as well as image formats like jpg,
png, and gif. Also, the images need to be high resolution so that
they can be pasted into various other programs in Windows OS, and
Linux OS, and the Mac OS.

Thanks in advance,
Dan
I think wxPython in conjunction with PIL and/or matplotlib could work.
I'm pretty sure the people on the wxPython user's list have done
vector graphics using those other libraries.

Mike

Aug 17 '07 #4
I used wxWidgets for a work like that. I found it quite easy to use and
I found simple to create a Gui with wxdev which is quite rad.
bye
Pier Paolo
Aug 17 '07 #5
On Aug 17, 9:27 am, chewie54 <dfabrizi...@gmail.comwrote:
Hello,

What would be the best cross-platform GUI library to use for a vector
based CAD program ( something like Visio on Windows ) WxWidgets,
Tk, PyQt, Java Swing, Java SWT,???? I need the capibility to
draw and edit in a window that looks like a page of paper so WYSIWYG
is very important, and I need to save the drawings in vector based
file formats like PS, EPS, SVG, as well as image formats like jpg,
png, and gif. Also, the images need to be high resolution so that
they can be pasted into various other programs in Windows OS, and
Linux OS, and the Mac OS.

Thanks in advance,
Dan
Also, I forgot to mention that it must have scripting capabilities so
and I would like to embed a Tcl or Python interpreter.

Aug 17 '07 #6
chewie54 wrote:
What would be the best cross-platform GUI library to use for a vector
based CAD program ( something like Visio on Windows ) WxWidgets,
Tk, PyQt, Java Swing, Java SWT,???? I need the capibility to
draw and edit in a window that looks like a page of paper so WYSIWYG
is very important, and I need to save the drawings in vector based
file formats like PS, EPS, SVG, as well as image formats like jpg,
png, and gif. Also, the images need to be high resolution so that
they can be pasted into various other programs in Windows OS, and
Linux OS, and the Mac OS.
PyQt/Qt4 is capable of that (SVG export was added in Qt4.3).

I have a graph drawing application based around it (Veusz).

If you base everything around QPainter, you'll be able to write to any of
those output formats (including eps and pdf), and bitmaps. Antialiasing is
optional for bitmap formats.

Jeremy

--
Jeremy Sanders
http://www.jeremysanders.net/
Aug 17 '07 #7
On Aug 17, 12:08 pm, Jeremy Sanders <jeremy
+complangpyt...@jeremysanders.netwrote:
chewie54 wrote:
What would be the best cross-platform GUI library to use for a vector
based CAD program ( something like Visio on Windows ) WxWidgets,
Tk, PyQt, Java Swing, Java SWT,???? I need the capibility to
draw and edit in a window that looks like a page of paper so WYSIWYG
is very important, and I need to save the drawings in vector based
file formats like PS, EPS, SVG, as well as image formats like jpg,
png, and gif. Also, the images need to be high resolution so that
they can be pasted into various other programs in Windows OS, and
Linux OS, and the Mac OS.

PyQt/Qt4 is capable of that (SVG export was added in Qt4.3).

I have a graph drawing application based around it (Veusz).

If you base everything around QPainter, you'll be able to write to any of
those output formats (including eps and pdf), and bitmaps. Antialiasing is
optional for bitmap formats.

Jeremy

--
Jeremy Sandershttp://www.jeremysanders.net/
Jeremy,

I looked at your application, Veusz (it looks very nice), and I see
you have binary distrubitions
for each os. Is is difficult to build these binaries for each
system. Could
you tell me how that is done?

Thanks,
Dan

Aug 17 '07 #8
On Aug 17, 12:07 pm, chewie54 <dfabrizi...@gmail.comwrote:
On Aug 17, 9:27 am, chewie54 <dfabrizi...@gmail.comwrote:
Hello,
What would be the best cross-platform GUI library to use for a vector
based CAD program ( something like Visio on Windows ) WxWidgets,
Tk, PyQt, Java Swing, Java SWT,???? I need the capibility to
draw and edit in a window that looks like a page of paper so WYSIWYG
is very important, and I need to save the drawings in vector based
file formats like PS, EPS, SVG, as well as image formats like jpg,
png, and gif. Also, the images need to be high resolution so that
they can be pasted into various other programs in Windows OS, and
Linux OS, and the Mac OS.
Thanks in advance,
Dan

Also, I forgot to mention that it must have scripting capabilities so
and I would like to embed a Tcl or Python interpreter.
I should have also mentioned that is for a commercial application.
That
doesn't rule Qt or PyQt out, but this is a startup company with very
little income so my first choice would be to use some GUI library
that
is free to use for commercial apps.
Thanks again,
Dan
Aug 17 '07 #9

chewie54 wrote on 17.08.2007 15:27:
Hello,

What would be the best cross-platform GUI library to use for a vector
based CAD program ( something like Visio on Windows ) WxWidgets,
Tk, PyQt, Java Swing, Java SWT,???? I need the capibility to
draw and edit in a window that looks like a page of paper so WYSIWYG
is very important, and I need to save the drawings in vector based
file formats like PS, EPS, SVG, as well as image formats like jpg,
png, and gif. Also, the images need to be high resolution so that
they can be pasted into various other programs in Windows OS, and
Linux OS, and the Mac OS.
The NetBeans Platform offers a nice module for this. NetBeans itself uses it for
UML, BPEL and ERD modelling and other features (such as the visual XSD editor)

http://platform.netbeans.org/
http://graph.netbeans.org/
Thomas
Aug 17 '07 #10
chewie54 wrote:
I looked at your application, Veusz (it looks very nice), and I see
you have binary distrubitions
for each os. Is is difficult to build these binaries for each
system. Could
you tell me how that is done?
I use pyinstaller to make the binaries (see the veusz_pyinst.spec file), and
NSIS to make a Windows installer from the Windows binary (see veusz.nsi).

The Linux binary, unfortunately, isn't 100% compatible, as I've found trying
to run on 64 bit systems. I assume it's some sort of glibc mismatch. Making
the linux binaries on an old distribution helps the compatibility (I use
centos 3 in a virtual environment).

jeremy

--
Jeremy Sanders
http://www.jeremysanders.net/
Aug 17 '07 #11
[x-posts removed]
chewie54 <df*********@gmail.comwrites:
I should have also mentioned that is for a commercial application. That
doesn't rule Qt or PyQt out, but this is a startup company with very little
income so my first choice would be to use some GUI library that is free to
use for commercial apps.
Check out the trolltech webpage: IIRC although it normally costs a few k$, you
can get it much cheaper if you are a startup (you yearly revenue must be lower
than 200k$ or something; this also only works once and maybe up to 2 licenses
or so etc).

'as
Aug 17 '07 #12
"pierbr....e.it" <pi***@pippopippo.ppwrote:
I used wxWidgets for a work like that. I found it quite easy to use and
I found simple to create a Gui with wxdev which is quite rad.
bye
Pier Paolo
There is also pycad, but apart from knowing that it exists, I know
nothing about it.

- Hendrik

Aug 18 '07 #13
On Aug 17, 3:27 pm, chewie54 <dfabrizi...@gmail.comwrote:
What would be the best cross-platform GUI library to use for a vector
based CAD program
I suggest you use different toolkits for windowing (GUI widgets) and
drawing the vector graphics.

It does not really matter which toolkit you use for windowing.
wxPython looks good on many platforms and are free. So it PyGTK.

For vector graphics part I suggest PyCairo, AggDraw or OpenGL,
depending on your need.

PIL and NumPy are also essential if you will be working with images

Aug 19 '07 #14
Hi All,

Today I have downloaded a SWT Software which is great to its features.
You can learn
many GUI details out of it. The basic functionality is it lists IP
Addresses of the
remote PC's your system is accessing.

You may find the project under sourceforge.net

http://sourceforge.net/projects/nettymaster

You can customize this software, please let me know your views

Aug 20 '07 #15
Hi All,

Today I have downloaded a SWT Software which is great to its features.
You can learn
many GUI details out of it. The basic functionality is it lists IP
Addresses of the
remote PC's your system is accessing.

You may find the project under sourceforge.net

http://sourceforge.net/projects/nettymaster

You can customize this software, please let me know your views

Aug 20 '07 #16
On Aug 17, 3:27 pm, chewie54 <dfabrizi...@gmail.comwrote:
What would be the best cross-platform GUI library to use for a vector
based CAD program ( something like Visio on Windows ) WxWidgets,
Tk, PyQt, Java Swing, Java SWT,???? I need the capibility to
draw and edit in a window that looks like a page of paper so WYSIWYG
is very important, and I need to save the drawings in vector based
file formats like PS, EPS, SVG, as well as image formats like jpg,
png, and gif. Also, the images need to be high resolution so that
they can be pasted into various other programs in Windows OS, and
Linux OS, and the Mac OS.
You could use pythoncad (www.pythoncad.org) as a base and develop it
further, or even contract its main developer to expand its features to
fulfill your needs and improve it. It's based on the GTK+ toolkit,
written in python and has scripting capabilities. IMHO, it's the most
promising free CAD effort around though even if it's not as mature as
QCad.
You could use it in commercial applications as long as you comply with
the GPL, or the author agrees to dual license it for you, but it would
be very welcome if the improvements are avaliable for all users.

Regards,

Rafael

Aug 20 '07 #18
>What would be the best cross-platform GUI library to use for a vector
>based CAD program ( something like Visio on Windows )
I don't know about he best, but I have collected a list of them at
http://mindprod.com/jgloss/graph.html
--
Roedy Green Canadian Mind Products
The Java Glossary
http://mindprod.com
Aug 20 '07 #19
Roedy Green wrote:
>What would be the best cross-platform GUI library to use for a vector
based CAD program ( something like Visio on Windows )
I don't know about he best, but I have collected a list of them at
http://mindprod.com/jgloss/graph.html
Roedy,

you might want to add NetBeans' Graph library to the list. It is very
similar to Eclipse's GEF

http://graph.netbeans.org/

Thomas
Aug 20 '07 #20
On Aug 20, 3:04 am, Mats <mats...@gmail.comwrote:
If you want to stay within Tcl/Tk you could take a look at my tkpath
package:http://tclbitprint.sf.net/
and shots:http://tclbitprint.sourceforge.net/t...iro/index.html

Mats
Very nice. Are all the features functional? I was reading that Cairo
is cross-platform so can I use your tkpath package with Cairo for all
the platforms?

Have you implemented the save as pdf, ps, and svg vector file
formats?

Thanks for your feedback.
Dan

Aug 20 '07 #21

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

16
595
by: chewie54 | last post by:
Hello, What would be the best cross-platform GUI library to use for a vector based CAD program ( something like Visio on Windows ) WxWidgets, Tk, PyQt, Java Swing, Java SWT,???? I need...
0
7125
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7004
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7208
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
7379
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
5464
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
4915
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
4593
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3085
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
292
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.