AnalogWidgets
Qt Widgets
Score 85%
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.

Last changelog:

8 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 ;).

sebest

2 years ago

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

snoop911

3 years ago

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

WernerSch

3 years ago

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

best regards
Werner

Report

flaque

3 years ago

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

John-QT

3 years ago

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

hydronit

3 years ago

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

mosla31

4 years ago

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

MortenSi

4 years ago

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

jack249

4 years ago

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

Deusdies

5 years ago

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

imato

6 years ago

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

raedbenz

6 years ago

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

3electrons

6 years ago

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

briantr7

7 years ago

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

PaceyIV

7 years ago

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

Report

3electrons

7 years ago

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

pospiech

8 years ago

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

3electrons

8 years ago

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

3electrons

7 years ago

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

cayou66

8 years ago

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

3electrons

8 years ago

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

GoaSkin

8 years ago

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

3electrons

8 years ago

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

Report

mjtooba

8 years ago

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

3electrons

8 years ago

I have fixed it. Please downolad new version

Report

8 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 ;).

File (click to download) Version Description Filetype Packagetype License Downloads Date Filesize OCS-Install DL
Details
version
257
updated Feb 07 2014
added Aug 24 2008
downloads today
8
page views today 30