Graphical tool for data manipulation written in C++/Qt
Volbx is a graphical tool used for data manipulation written in C++/Qt. User can:
The tool was originally created for real estate appraisal as it gives the possibility, for people working in that area, to estimate the past, current, and future value of analyzed properties. When the project/startup was dropped, I’ve decided to release a less specialized application as an open source project. Most advanced and dedicated for real estate functionalities were cut out; basic and intermediate ones stayed.
This section describes briefly how to setup the environment and build the project.
Qt in version 6.5 or greater, a C++ compiler with C++17 support as a minimum, and CMake 3.16+.
Clone and use CMake directly or via any IDE supporting it. CMake should:
As a result of compilation, binary for simulations and binary for testing should be created.
TIP: Remember to set properly the CMAKE_PREFIX_PATH
env variable. It should have a Qt installation path to let CMake find_package
command work.
TIP: Add qmake
location to PATH
variable as QWT building expects it.
Windows | Windows | Ubuntu | |
---|---|---|---|
OS version | 10 22H2 | 10 22H2 | 24.04 |
compiler | GCC 13.1.0 | MSVC 19.29 | GCC 13.2.0 |
CMake | 3.30.2 | 3.30.2 | 3.28.3 |
Git | 2.46.0 | 2.46.0 | 2.43.0 |
Qt | 6.5.2 | 6.5.2 | 6.5.2 |
Eible | 1.2.0 | 1.2.0 | 1.2.0 |
QwtBle | 1.2.0 | 1.2.0 | 1.2.0 |
Wble | 1.2.0 | 1.2.0 | 1.2.0 |
QuaZip | 1.4 | 1.4 | 1.4 |
VersionCheck
.VersionCheck
.<?
echo("Volbx-Update-Info\n");
echo("1.10");
chdir("current/");
foreach (glob("*") as $filename) {
echo "\n$filename;" . filesize($filename);
}
?>
current
in directory where .php file is located.current
directory.Networking
namespace in Volbx to point to the proper address. Look forQNetworkRequest Networking::getCurrentVersionRequest()
QNetworkRequest Networking::getDownloadFileRequest(const QString& file)
VersionChecker
and run it.current
folder.Remarks:
VersionChecker
to work around that problem.For testing purposes, the Qt Test framework is used. Build the project first. Make sure that the volbx-tests
target is built. Modern IDEs supporting CMake also support running tests with monitoring of failures. But in case you would like to run it manually, go to the build/tests
directory, where the binary volbx-tests
should be available. Launching it should produce the following output on Linux:
Example run:
$ ./volbx-tests
********* Start testing of ConfigurationTest *********
Config: Using QtTest library 6.5.2, Qt 6.5.2 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 10.3.1 20210422 (Red Hat 10.3.1-1)), ubuntu 24.04
PASS : ConfigurationTest::initTestCase()
PASS : ConfigurationTest::testSavingConfigurationFile()
PASS : ConfigurationTest::testReadingFilledConfigurationFile()
(...)
PASS : TestConstants::testElapsedTimeToSeconds()
PASS : TestConstants::testGetProgressBarFullCounter()
PASS : TestConstants::cleanupTestCase()
Totals: 9 passed, 0 failed, 0 skipped, 0 blacklisted, 0ms
********* Finished testing of TestConstants *********
As an alternative, CTest can be used to run tests from the build/tests
directory:
$ ctest
Test project <path>/volbx/build/tests
Start 1: volbx-tests
1/1 Test #1: volbx-tests ...................... Passed 0.38 sec
100% tests passed, 0 tests failed out of 1
Total Test time (real) = 0.39 sec
Volbx is published under a LGPL license.
The project uses the following software:
Name | License | Home | Description |
---|---|---|---|
Qt | LGPLv3 | https://www.qt.io/ | cross-platform application development framework |
Eible | LGPLv3 | https://github.com/przemek83/eible | library for importing and exporting data |
QwtBle | LGPLv3 | https://github.com/przemek83/qwtble | library of useful plots and one marker based on Qwt library |
Wble | LGPLv3 | https://github.com/przemek83/wble | library of useful Qt widgets |
QuaZip | LGPLv2.1 with static linking exception | https://github.com/stachenov/quazip | C++ wrapper for Minizip using Qt library |