AnalogWidgets
Qt Widgets
Description:

This project is the result of writing a few applications by my small firm www.3electrons.com

ScriptWidget still is compiling but not supported anymore - use QtQuick instead.

If you like those components - please visit
http://www.3electrons.com/www/en/news/16.html
and consider donation.


Changelog:

3 years ago

2014-02-07 rev 257
Minor changes
Qt5 and Qt4 supported.
MSVS 2012 Supported
MinGW 32-bit supported

Minor compiling problems resolved.

In case you are going to contact me please use tomek(at)3electrons.com


2009-12-16 rev. 234
Added support for MSV 2008 and very initial support for Symbian.
Few minor bugs fixed.

2009-04-23 rev. 229
Added new resources in resources/widgets/dials/dials.svg
Plans are to make those widgets alive and create bigger library of widgets based on
svg themes.

2008-11-26 rev. 224
Added make install for linux - any comments and/or bugfixes for other systems
warmly welcomed.
Added PotentioMeter with 4 predefined svg themes.
PotentioMeter is still expermimental so use it with caution.
Added alternative theme for Counter in test program.
More info about themes in potentiometer.h and counter.h

2008-11-05 rev 217
Fixed all remaining and founded references where end iterator was used. What
caused crash with MsVisual.

2008-11-03 rev 215.
Fixed last error in poprper way - shame to say but I screw up
Valentin fix.

2008-10-29 rev. 214
Fixed ScaleGridDecorator::paintYScale() MsVisual crash.
Thanks Valentin ;).

2 years ago

sebest

Hi, i like your widget, i used it when i use qt4, but when i want to use with qt5 i do not make a dll library to add to qtcreator.

I can complile the project without problems, but that create a .lib library.

How i make a dll?

Thank!!

Report

2 years ago

snoop911

How do you compile the individual widgets into a module that can be loaded in PyQt?

I compiled the analog widgets plugin into a dll (Qt Creator) and instantiated a widget in a .ui file (PyQt Dessigner)... but in order to load thid .ui from a .py file, it looks for the widget's python module!

Report

2 years ago

WernerSch

i am a newbie in Python. How can i add this app in qt4 and programm it with Python?

best regards
Werner

Report

2 years ago

flaque

Hello! First, I would like to thank you very much for this library, I'm mainly in need of an analog gauge widget and surprisingly there is almost nothing for Qt.

Second, I have problems compiling your app (both Qt5.3+MSVC2013 and Qt 4.8.6+MinGW under QtCreator in Win7). Still, I added the relevant .h and .cpp files to a project and it worked (I'm new to Qt actually).

I wanted to know if there is a way, and how, to use your gauge svg resources for the widget. I actually need the widget to be good looking, and your resources are just beautiful. Could you please give me some clues?

Thanks a lot!

Report

2 years ago

John-QT

Hi.
To get the plugins to compile with Qt 5 I had to comment out Q_EXPORT_PLUGIN in analogwidgets_plugin.cpp

and add

Q_PLUGIN_METADATA(IID "alalogwidgets.org") to analogwidgets_plugin.h

also when I tried to compile the whole project I got an error about qmyabstractmeter.h not found.

This file does not seem to be in your release.

Thanks for your hard work

Report

3 years ago

hydronit

Hi,
I'm enjoing using your library, I'd like to set some thresholds in ThermoMeter object; is there a function to set them? Can I set more than one alarm, to display more colors?
Thanks for your time :)
Massimo

Report

3 years ago

mosla31

Hello

Could you please check if qmyabstractmeter.h is missed in latest source?

I got the compile error as below and couldn't find qmyabstractmeter.h in ubuntu build environment.

qmyabstractmeter.cpp:24: fatal error: qmyabstractmeter.h: No such file or directory
compilation terminated.

Thanks,
BR.
Andrew

Report

4 years ago

MortenSi

I tried to compile it today using gcc 4.7.2 and Qt4 on debian. I got the error "bitmapbutton.cpp:49:24: error: taking address of temporary [-fpermissive]"
By changing line 49

p_icon = &icon();

to

{QIcon m_upicon=icon();
p_icon=&m_upicon;}

It compiles fine and the test/demo program runs.

Report

4 years ago

jack249

Can you provide the download for .lib and .DLL files for this analog widget?
I've tried on generating it but failed to be used in my project. ><
TQ

Report

5 years ago

Deusdies

Hi, using the latest version (revision):


[bogdan@cluster AnalogWidgets]$ qmake
[bogdan@cluster AnalogWidgets]$ make
cd analogwidgets/ && make -f Makefile
make[1]: Entering directory `/home/bogdan/Downloads/AnalogWidgets/AnalogWidgets/analogwidgets'
cd code/ && make -f Makefile
make[2]: Entering directory `/home/bogdan/Downloads/AnalogWidgets/AnalogWidgets/analogwidgets/code'
g++ -c -pipe -g3 -Wall -pg -fPIC -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_SCRIPT_LIB -DQT_SVG_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include/QtSvg -I/usr/include/QtScript -I/usr/include -I../analogwidgets -I. -o ../objects/bitmapbutton.o bitmapbutton.cpp
bitmapbutton.cpp: In member function ‘virtual void BitmapButton::paintEvent(QPaintEvent*)’:
bitmapbutton.cpp:49:24: error: taking address of temporary [-fpermissive]
bitmapbutton.cpp: At global scope:
bitmapbutton.cpp:41:6: warning: unused parameter ‘event’ [-Wunused-parameter]
make[2]: *** [../objects/bitmapbutton.o] Error 1
make[2]: Leaving directory `/home/bogdan/Downloads/AnalogWidgets/AnalogWidgets/analogwidgets/code'
make[1]: *** [sub-code-make_default-ordered] Error 2
make[1]: Leaving directory `/home/bogdan/Downloads/AnalogWidgets/AnalogWidgets/analogwidgets'
make: *** [sub-analogwidgets-make_default-ordered] Error 2

Report

5 years ago

imato

Hi 3E,

I try to use your manometer on my Qt4.7.1 (ubuntu 10.4). I downloaded your AnalogWidgets_234.zip. then did:

$ cd /home/czhang/Downloads/AnalogWidgets
$ qmake AnalogWidgets.pro
$ make
$ sudo make install
$ cp /home/czhang/Downloads/AnalogWidgets/analogwidgets/libanalogwidgets_plugin.so /home/czhang/QtSDK/QtCreator/lib/qtcreator/plugins/designer/libanalogwidgets_plugin.so

I got error message when i compile my program:

Running build steps for project m4...
Configuration unchanged, skipping qmake step.
Starting: "/usr/bin/make" -w
make: Entering directory `/home/czhang/m4works'
/home/czhang/QtSDK/Desktop/Qt/473/gcc/bin/qmake -spec ../QtSDK/Desktop/Qt/473/gcc/mkspecs/linux-g++-64 CONFIG+=debug QMLJSDEBUGGER_PATH=/home/czhang/QtSDK/QtCreator/share/qtcreator/qml/qmljsdebugger -o Makefile m4.pro
make: Leaving directory `/home/czhang/m4works'
make: Entering directory `/home/czhang/m4works'
g++ -m64 -Wl,-rpath,/home/czhang/QtSDK/Desktop/Qt/473/gcc/lib -o m4 mainscr.o main.o cyclescrdialog.o engscrdialog.o manopdialog.o globleVar.o pwdialog.o stages.o historicdialog.o cycleparmsdialog.o maintendialog.o errorcodedialog.o consetupdialog.o filemanagedialog.o moc_mainscr.o moc_cyclescrdialog.o moc_engscrdialog.o moc_manopdialog.o moc_pwdialog.o moc_historicdialog.o moc_cycleparmsdialog.o moc_maintendialog.o moc_errorcodedialog.o moc_consetupdialog.o moc_filemanagedialog.o -L/home/czhang/QtSDK/Desktop/Qt/473/gcc/lib -lqextserialport -L/usr/local/qwt-5.2.1/lib -lqwt -L/usr/local/lib -lQtSvg -lquazip -lQtSql -lQtGui -lQtCore -lpthread
mainscr.o: In function `MainScr::timer1000Event()':
/home/czhang/m4works/mainscr.cpp:140: undefined reference to `AbstractMeter::setValue(double)'
mainscr.o: In function `AbstractMeter::setNominal(double)':
make: Leaving directory `/home/czhang/m4works'
/usr/include/analogwidgets/abstractmeter.h:60: undefined reference to `WidgetWithBackground::updateWithBackground()'
mainscr.o: In function `AbstractMeter::setCritical(double)':
/usr/include/analogwidgets/abstractmeter.h:62: undefined reference to `WidgetWithBackground::updateWithBackground()'
mainscr.o: In function `AbstractMeter::setValueFont(QFont)':
/usr/include/analogwidgets/abstractmeter.h:65: undefined reference to `WidgetWithBackground::updateWithBackground()'
mainscr.o: In function `AbstractMeter::setValueOffset(double)':
/usr/include/analogwidgets/abstractmeter.h:68: undefined reference to `WidgetWithBackground::updateWithBackground()'
mainscr.o: In function `AbstractMeter::setDigitOffset(double)':
/usr/include/analogwidgets/abstractmeter.h:71: undefined reference to `WidgetWithBackground::updateWithBackground()'
mainscr.o:/usr/include/analogwidgets/abstractmeter.h:74: more undefined references to `WidgetWithBackground::updateWithBackground()' follow
mainscr.o: In function `Ui_MainScr::setupUi(QMainWindow*)':
/home/czhang/m4works/ui_mainscr.h:324: undefined reference to `ManoMeter::ManoMeter(QWidget*)'
/home/czhang/m4works/ui_mainscr.h:328: undefined reference to `AbstractMeter::setMaximum(double)'
/home/czhang/m4works/ui_mainscr.h:329: undefined reference to `AbstractMeter::setValue(int)'
collect2: ld returned 1 exit status
make: *** [m4] Error 1
The process "/usr/bin/make" exited with code 2.
Error while building project m4 (target: Desktop)
When executing build step 'Make'

can you tell me where i did wrong please?
Thanks

Report

6 years ago

raedbenz

Hi
i downloaded the app and built and run using qt qreator 2.0.1 and qt4.6.3 under windows xp.
i got the error:
F:\87780-AnalogWidgets_234\AnalogWidgets-build-desktop\scripttool\scripttool.exe exited with code -1073741511

any hints?
Thanks

Report

6 years ago

3electrons

This is very laconic information. It should not take much time to debug the code.
However, please use QtQuick, and QDeclarativeView instead. ScriptWidget was attempt to do somehing that QtQuick does much better and in far wider context.

Best regards.

Report

6 years ago

briantr7

Dear 3electrons,
whether your widgets can be installed in windows seven platform?

i'm confused how to install it. T_T
well i'm still newbie here

thanks for the attention ^^

Report

7 years ago

PaceyIV

What are the differences between this project and the library QWT?
Why not work together?

Report

7 years ago

3electrons

Well, there are personal reasons.It is much easier to control your own project that you can develop in any direction you like. It started as a research/(needed features) project and it is not as mature as QWT is. So I do not even try to compete with QWT or any other library or component you can find here. It is just yet another library that does some basic things.

Report

7 years ago

pospiech

The code does not compile on windows (MSVC 2005).

link /LIBPATH:"c:\Programme\Qt\msvc\4.5.1\lib" /NOLOGO /INCREMENTAL:NO /
LTCG /DLL /MANIFEST /MANIFESTFILE:"..\objects\analogwidgets_plugin.intermediate.
manifest" /OUT:..\analogwidgets_plugin.dll @C:\DOKUME~1\MATTHI~1\LOKALE~1\Temp\n
mD9.tmp
Creating library ..\analogwidgets_plugin.lib and object ..\analogwidgets_plug
in.exp
chart_plugin.obj : error LNK2001: unresolved external symbol "public: __thiscall
Chart::Chart(class QWidget *)" (??0Chart@@QAE@PAVQWidget@@@Z)
led_plugin.obj : error LNK2001: unresolved external symbol "public: __thiscall L
ed::Led(class QWidget *)" (??0Led@@QAE@PAVQWidget@@@Z)
manometer_plugin.obj : error LNK2001: unresolved external symbol "public: __this
call ManoMeter::ManoMeter(class QWidget *)" (??0ManoMeter@@QAE@PAVQWidget@@@Z)
thermometer_plugin.obj : error LNK2001: unresolved external symbol "public: __th
iscall ThermoMeter::ThermoMeter(class QWidget *)" (??0ThermoMeter@@QAE@PAVQWidge
t@@@Z)
wallclock_plugin.obj : error LNK2001: unresolved external symbol "public: __this
call WallClock::WallClock(class QWidget *)" (??0WallClock@@QAE@PAVQWidget@@@Z)
bitmapbutton_plugin.obj : error LNK2001: unresolved external symbol "public: __t
hiscall BitmapButton::BitmapButton(class QWidget *)" (??0BitmapButton@@QAE@PAVQW
idget@@@Z)
counter_plugin.obj : error LNK2001: unresolved external symbol "public: __thisca
ll Counter::Counter(class QWidget *)" (??0Counter@@QAE@PAVQWidget@@@Z)
svgfile_taskmenu.obj : error LNK2001: unresolved external symbol "public: static
struct QMetaObject const Counter::staticMetaObject" (?staticMetaObject@Counter@
@2UQMetaObject@@B)
svgfile_taskmenu.obj : error LNK2001: unresolved external symbol "public: void _
_thiscall Counter::setDigitsFile(class QString const &)" (?setDigitsFile@Counter
@@QAEXABVQString@@@Z)
svgfile_taskmenu.obj : error LNK2001: unresolved external symbol "public: void _
_thiscall ScriptWidget::loadSvgFile(class QString const &)" (?loadSvgFile@Script
Widget@@QAEXABVQString@@@Z)
svgfile_taskmenu.obj : error LNK2001: unresolved external symbol "public: static
struct QMetaObject const ScriptWidget::staticMetaObject" (?staticMetaObject@Scr
iptWidget@@2UQMetaObject@@B)
scriptwidget_plugin.obj : error LNK2001: unresolved external symbol "public: __t
hiscall ScriptWidget::ScriptWidget(class QWidget *)" (??0ScriptWidget@@QAE@PAVQW
idget@@@Z)
potentiometer_plugin.obj : error LNK2001: unresolved external symbol "public: __
thiscall PotentioMeter::PotentioMeter(class QWidget *)" (??0PotentioMeter@@QAE@P
AVQWidget@@@Z)
..\analogwidgets_plugin.dll : fatal error LNK1120: 13 unresolved externals
NMAKE : fatal error U1077: '"C:\Programme\Microsoft Visual Studio 8\VC\BIN\link.
EXE"' : return code '0x460'
Stop.
NMAKE : fatal error U1077: '"C:\Programme\Microsoft Visual Studio 8\VC\BIN\nmake
.EXE"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.

By The way, your flags.pri file is filled with useless platform and CPU specific compiler settings including hardcoded paths.

Report

7 years ago

3electrons

MSVC 2005 is not supported at the moment, but with your help it could be :).
From your error report it seems that you have problem with compiling analogwidgets_plugin. It is that because there is no rule for MSVC2005 how to build plugin.

I guess you could modify wince* rule to make it work with MSVC 2005 in analogwidgets/plugins/plugins.pro.

If you succeed a small patch is warmly welcomed.

>By The way, your flags.pri file is filled with useless platform and CPU specific compiler settings including hardcoded paths.
Yes for MSVC 2005 it is completely useless.

Report

7 years ago

3electrons

Now AnalogWidgets is ready to be used with MS VC 2008. It can probably be forced to work with earlier versions of MS VC.

Report

7 years ago

cayou66

Hi 3electrons,
I just want know one thing about your future widgets wich are describes on the last update.
Have you tried to test the graphicals performance? I.e the CPU load/usage when these widgets are in action. I ask that because these widgets are so beautiful, and I wonder if it will not penalize performance. thx in advance for the reply, and sorry if my english it isn't perfect :)

Report

7 years ago

3electrons

Yes I have tried it a little bit before with "oil widget" and few others. I have done it with ScriptWidget, which aim was to make widgets based on SVG and QtScript engines. Internal Java-Script API is very poor at the moment but performance is ok. However, making widget that is killing CPU is not a big problem. This is why I do consider to bring live to those "future" widgets by writing dedicated widgets in pure C++ where SVG themes could be exchanged, similar to potentiometer and counter widgets.
In my opinion it might be much simpler and more likely to make them alive, I am quite busy at my work at the moment.

Pure C++ widgets can be also better optimized by using cached and shared bitmaps, like it is done in WallClock, PotentioMeter and others. I still wonder if widgets with internal script engine is good idea. At least, how many people is going to use it that way?

I do believe I can achieve similar performance to PotentioMeter widget with C++ only approach.

P.S. Glad you like them ;).

Report

8 years ago

GoaSkin

On Mac OS X (version 10.4, QT version 4.4.3) the widget set compiles well but when typing 'make installs', the make command just goes into any subdirectory and says 'nothing to be done for...'

When I copy the designer plugin manually to the QT designer plugins folder, designing forms with the analog plugins works well. The uic generates a header file searching all the analog widgets in a project subdirectory.

Report

8 years ago

3electrons

I have added make install. Please check it with your system.

Report

8 years ago

mjtooba

Dear 3Electrons
chart has problem in QT 4.4.0 & VS2005
in scalegriddec... line 127 i--; in debug testing,channels size is one! no size checking.... also in paint event,i removed all call routine except (ChartDecorator::paint(painter,chart); unexpected error too

any question/additional info/effort

Report

8 years ago

3electrons

I have fixed it. Please downolad new version

Report

Supporters

Recent Donations

Be the first to donate
Filename Version Description Filetype Packagetype License Downloads Date Filesize Install
Score 85%
85.00 Likes
15 Dislikes

0 Supporters for AnalogWidgets:

Recent Donations:

Be the first to donate
show all
Details
version
257
updated Feb 07 2014
added Aug 24 2008
downloads
page views 5865
support 3electrons
For The Product
AnalogWidgets
5 - 10 - 25 - 50 - 100 - 200 - 500