summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/CMakeLists.txt2
-rw-r--r--examples/charts/CMakeLists.txt102
-rw-r--r--examples/charts/audio/CMakeLists.txt1
-rw-r--r--examples/charts/audio/apple/Info.plist.in13
-rw-r--r--examples/charts/audio/main.cpp5
-rw-r--r--examples/charts/audio/widget.cpp23
-rw-r--r--examples/charts/audio/widget.h6
-rw-r--r--examples/charts/piechartcustomization/mainwidget.cpp41
-rw-r--r--examples/charts/piechartcustomization/mainwidget.h8
9 files changed, 131 insertions, 70 deletions
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index 7613c97b..4eb2527b 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -1,6 +1,6 @@
# Generated from examples.pro.
-qt_examples_build_begin()
+qt_examples_build_begin(EXTERNAL_BUILD)
add_subdirectory(charts)
diff --git a/examples/charts/CMakeLists.txt b/examples/charts/CMakeLists.txt
index 45e3f577..55ec96b7 100644
--- a/examples/charts/CMakeLists.txt
+++ b/examples/charts/CMakeLists.txt
@@ -1,88 +1,88 @@
# Generated from charts.pro.
if(QT_FEATURE_charts_area_chart)
- add_subdirectory(areachart)
+ qt_internal_add_example(areachart)
endif()
if(QT_FEATURE_charts_line_chart)
- add_subdirectory(callout)
- add_subdirectory(chartinteractions)
- add_subdirectory(customchart)
- add_subdirectory(linechart)
- add_subdirectory(lineandbar)
- add_subdirectory(legendmarkers)
- add_subdirectory(logvalueaxis)
- add_subdirectory(modeldata)
- add_subdirectory(zoomlinechart)
+ qt_internal_add_example(callout)
+ qt_internal_add_example(chartinteractions)
+ qt_internal_add_example(customchart)
+ qt_internal_add_example(linechart)
+ qt_internal_add_example(lineandbar)
+ qt_internal_add_example(legendmarkers)
+ qt_internal_add_example(logvalueaxis)
+ qt_internal_add_example(modeldata)
+ qt_internal_add_example(zoomlinechart)
endif()
if(QT_FEATURE_charts_spline_chart)
- add_subdirectory(dynamicspline)
- add_subdirectory(multiaxis)
- add_subdirectory(splinechart)
- add_subdirectory(pointsselectionandmarkers)
+ qt_internal_add_example(dynamicspline)
+ qt_internal_add_example(multiaxis)
+ qt_internal_add_example(splinechart)
+ qt_internal_add_example(pointsselectionandmarkers)
endif()
if(QT_FEATURE_charts_area_chart AND QT_FEATURE_charts_spline_chart)
- add_subdirectory(chartthemes)
- add_subdirectory(polarchart)
+ qt_internal_add_example(chartthemes)
+ qt_internal_add_example(polarchart)
endif()
if(QT_FEATURE_charts_bar_chart)
- add_subdirectory(barchart)
- add_subdirectory(barmodelmapper)
- add_subdirectory(horizontalbarchart)
- add_subdirectory(horizontalpercentbarchart)
- add_subdirectory(horizontalstackedbarchart)
- add_subdirectory(stackedbarchart)
- add_subdirectory(stackedbarchartdrilldown)
- add_subdirectory(percentbarchart)
- add_subdirectory(legend)
- add_subdirectory(temperaturerecords)
- add_subdirectory(selectedbar)
+ qt_internal_add_example(barchart)
+ qt_internal_add_example(barmodelmapper)
+ qt_internal_add_example(horizontalbarchart)
+ qt_internal_add_example(horizontalpercentbarchart)
+ qt_internal_add_example(horizontalstackedbarchart)
+ qt_internal_add_example(stackedbarchart)
+ qt_internal_add_example(stackedbarchartdrilldown)
+ qt_internal_add_example(percentbarchart)
+ qt_internal_add_example(legend)
+ qt_internal_add_example(temperaturerecords)
+ qt_internal_add_example(selectedbar)
endif()
if(QT_FEATURE_charts_pie_chart)
- add_subdirectory(donutchart)
- add_subdirectory(donutbreakdown)
- add_subdirectory(nesteddonuts)
- add_subdirectory(piechart)
- add_subdirectory(piechartcustomization)
- add_subdirectory(piechartdrilldown)
+ qt_internal_add_example(donutchart)
+ qt_internal_add_example(donutbreakdown)
+ qt_internal_add_example(nesteddonuts)
+ qt_internal_add_example(piechart)
+ qt_internal_add_example(piechartcustomization)
+ qt_internal_add_example(piechartdrilldown)
endif()
if(QT_FEATURE_charts_pie_chart AND TARGET Qt::Quick)
- add_subdirectory(qmlpiechart)
+ qt_internal_add_example(qmlpiechart)
endif()
if(QT_FEATURE_charts_boxplot_chart)
- add_subdirectory(boxplotchart)
+ qt_internal_add_example(boxplotchart)
endif()
if(QT_FEATURE_charts_boxplot_chart AND TARGET Qt::Quick)
- add_subdirectory(qmlboxplot)
+ qt_internal_add_example(qmlboxplot)
endif()
if(QT_FEATURE_charts_candlestick_chart)
- add_subdirectory(candlestickchart)
+ qt_internal_add_example(candlestickchart)
endif()
if(QT_FEATURE_charts_candlestick_chart AND TARGET Qt::Quick)
- add_subdirectory(qmlcandlestick)
+ qt_internal_add_example(qmlcandlestick)
endif()
if(QT_FEATURE_charts_scatter_chart)
- add_subdirectory(scatterchart)
- add_subdirectory(scatterinteractions)
+ qt_internal_add_example(scatterchart)
+ qt_internal_add_example(scatterinteractions)
endif()
if(TARGET Qt::Quick)
- add_subdirectory(qmlchart)
- add_subdirectory(qmlcustomizations)
- add_subdirectory(qmlcustomlegend)
- add_subdirectory(qmlf1legends)
- add_subdirectory(qmloscilloscope)
- add_subdirectory(qmlweather)
+ qt_internal_add_example(qmlchart)
+ qt_internal_add_example(qmlcustomizations)
+ qt_internal_add_example(qmlcustomlegend)
+ qt_internal_add_example(qmlf1legends)
+ qt_internal_add_example(qmloscilloscope)
+ qt_internal_add_example(qmlweather)
endif()
if(TARGET Qt::Multimedia)
# TODO: this never gets compiled : missing find_pacakge
- # add_subdirectory(audio) // QTBUG-94181
+ # qt_internal_add_example(audio) // QTBUG-94181
endif()
if(QT_FEATURE_opengl)
- add_subdirectory(openglseries)
+ qt_internal_add_example(openglseries)
endif()
if(QT_FEATURE_charts_datetime_axis)
- add_subdirectory(datetimeaxis)
+ qt_internal_add_example(datetimeaxis)
endif()
if(QT_FEATURE_charts_datetime_axis AND TARGET Qt::Quick)
- add_subdirectory(qmlaxes)
- add_subdirectory(qmlpolarchart)
+ qt_internal_add_example(qmlaxes)
+ qt_internal_add_example(qmlpolarchart)
endif()
diff --git a/examples/charts/audio/CMakeLists.txt b/examples/charts/audio/CMakeLists.txt
index 6349e31d..3148f9c8 100644
--- a/examples/charts/audio/CMakeLists.txt
+++ b/examples/charts/audio/CMakeLists.txt
@@ -28,6 +28,7 @@ qt_add_executable(audio
set_target_properties(audio PROPERTIES
WIN32_EXECUTABLE TRUE
MACOSX_BUNDLE TRUE
+ MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/apple/Info.plist.in"
)
target_link_libraries(audio PUBLIC
Qt::Charts
diff --git a/examples/charts/audio/apple/Info.plist.in b/examples/charts/audio/apple/Info.plist.in
new file mode 100644
index 00000000..9e6cc252
--- /dev/null
+++ b/examples/charts/audio/apple/Info.plist.in
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+
+ <key>NSMicrophoneUsageDescription</key>
+ <string>Qt Charts Example</string>
+</dict>
+</plist>
diff --git a/examples/charts/audio/main.cpp b/examples/charts/audio/main.cpp
index 8c4eca66..712a7c14 100644
--- a/examples/charts/audio/main.cpp
+++ b/examples/charts/audio/main.cpp
@@ -29,7 +29,8 @@
#include "widget.h"
-#include <QtMultimedia/QAudioDeviceInfo>
+#include <QtMultimedia/QAudioDevice>
+#include <QtMultimedia/QMediaDevices>
#include <QtWidgets/QApplication>
#include <QtWidgets/QMessageBox>
@@ -37,7 +38,7 @@ int main(int argc, char *argv[])
{
QApplication a(argc, argv);
- const QAudioDeviceInfo inputDevice = QAudioDeviceInfo::defaultInputDevice();
+ const QAudioDevice inputDevice = QMediaDevices::defaultAudioInput();
if (inputDevice.isNull()) {
QMessageBox::warning(nullptr, "audio",
"There is no audio input device available.");
diff --git a/examples/charts/audio/widget.cpp b/examples/charts/audio/widget.cpp
index c4945067..1a63150b 100644
--- a/examples/charts/audio/widget.cpp
+++ b/examples/charts/audio/widget.cpp
@@ -30,8 +30,9 @@
#include "widget.h"
#include "xyseriesiodevice.h"
-#include <QtMultimedia/QAudioDeviceInfo>
+#include <QtMultimedia/QAudioDevice>
#include <QtMultimedia/QAudioInput>
+#include <QtMultimedia/QAudioSource>
#include <QtCharts/QChartView>
#include <QtCharts/QLineSeries>
@@ -42,7 +43,7 @@
QT_USE_NAMESPACE
-Widget::Widget(const QAudioDeviceInfo &deviceInfo, QWidget *parent) :
+Widget::Widget(const QAudioDevice &deviceInfo, QWidget *parent) :
QWidget(parent),
m_chart(new QChart),
m_series(new QLineSeries)
@@ -62,29 +63,31 @@ Widget::Widget(const QAudioDeviceInfo &deviceInfo, QWidget *parent) :
m_chart->addAxis(axisY, Qt::AlignLeft);
m_series->attachAxis(axisY);
m_chart->legend()->hide();
- m_chart->setTitle("Data from the microphone (" + deviceInfo.deviceName() + ')');
+ m_chart->setTitle("Data from the microphone (" + deviceInfo.description() + ')');
QVBoxLayout *mainLayout = new QVBoxLayout(this);
mainLayout->addWidget(chartView);
+ m_audioInput = new QAudioInput(deviceInfo, this);
+
QAudioFormat formatAudio;
formatAudio.setSampleRate(8000);
formatAudio.setChannelCount(1);
- formatAudio.setSampleSize(8);
- formatAudio.setCodec("audio/pcm");
- formatAudio.setByteOrder(QAudioFormat::LittleEndian);
- formatAudio.setSampleType(QAudioFormat::UnSignedInt);
+ formatAudio.setSampleFormat(QAudioFormat::UInt8);
- m_audioInput = new QAudioInput(deviceInfo, formatAudio, this);
+ m_audioSource = new QAudioSource(deviceInfo, formatAudio);
+ m_audioSource->setBufferSize(200);
m_device = new XYSeriesIODevice(m_series, this);
m_device->open(QIODevice::WriteOnly);
- m_audioInput->start(m_device);
+ m_audioSource->start(m_device);
}
Widget::~Widget()
{
- m_audioInput->stop();
+ m_audioSource->stop();
m_device->close();
+ delete m_audioInput;
+ delete m_device;
}
diff --git a/examples/charts/audio/widget.h b/examples/charts/audio/widget.h
index f4c3f049..64a130a2 100644
--- a/examples/charts/audio/widget.h
+++ b/examples/charts/audio/widget.h
@@ -44,7 +44,8 @@ class XYSeriesIODevice;
QT_BEGIN_NAMESPACE
class QAudioInput;
-class QAudioDeviceInfo;
+class QAudioDevice;
+class QAudioSource;
QT_END_NAMESPACE
class Widget : public QWidget
@@ -52,7 +53,7 @@ class Widget : public QWidget
Q_OBJECT
public:
- explicit Widget(const QAudioDeviceInfo &deviceInfo, QWidget *parent = nullptr);
+ explicit Widget(const QAudioDevice &deviceInfo, QWidget *parent = nullptr);
~Widget();
private:
@@ -60,6 +61,7 @@ private:
QChart *m_chart;
QLineSeries *m_series ;
QAudioInput *m_audioInput = nullptr;
+ QAudioSource *m_audioSource = nullptr;
};
#endif // WIDGET_H
diff --git a/examples/charts/piechartcustomization/mainwidget.cpp b/examples/charts/piechartcustomization/mainwidget.cpp
index 5d2ac832..8c2d9b71 100644
--- a/examples/charts/piechartcustomization/mainwidget.cpp
+++ b/examples/charts/piechartcustomization/mainwidget.cpp
@@ -81,7 +81,7 @@ MainWidget::MainWidget(QWidget *parent)
m_legendCheckBox = new QCheckBox();
- QScrollArea *settingsScrollBar = new QScrollArea();
+ settingsScrollBar = new QScrollArea();
QWidget *settingsContentWidget = new QWidget();
QFormLayout *chartSettingsLayout = new QFormLayout(settingsContentWidget);
@@ -212,6 +212,7 @@ MainWidget::MainWidget(QWidget *parent)
sliceSettingsLayout->addRow("Explode distance", m_sliceExplodedFactor);
QGroupBox *sliceSettings = new QGroupBox("Selected slice");
sliceSettings->setLayout(sliceSettingsLayout);
+ sliceSettings->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Preferred);
connect(m_sliceName, &QLineEdit::textChanged, this, &MainWidget::updateSliceSettings);
connect(m_sliceValue,
@@ -244,12 +245,16 @@ MainWidget::MainWidget(QWidget *parent)
settingsLayout->addWidget(sliceSettings);
settingsContentWidget->setLayout(settingsLayout);
+
settingsScrollBar->setWidget(settingsContentWidget);
- settingsScrollBar->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
+ settingsScrollBar->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+ settingsScrollBar->setWidgetResizable(true);
+ settingsScrollBar->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred);
+ m_chartView->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
- QGridLayout *baseLayout = new QGridLayout();
+ baseLayout = new QGridLayout();
baseLayout->addWidget(settingsScrollBar, 0, 0);
- baseLayout->addWidget(m_chartView, 0, 1);
+ baseLayout->addWidget(m_chartView, 1, 0);
setLayout(baseLayout);
updateSerieSettings();
@@ -393,4 +398,32 @@ void MainWidget::removeSlice()
m_slice = 0;
}
+void MainWidget::resizeEvent(QResizeEvent *e)
+{
+ if (width() == 0 || height() == 0)
+ return;
+
+ const double aspectRatio = double(width()) / double(height());
+
+ if ((aspectRatio < 1.0) && (oldAspectRatio > 1.0)) {
+ baseLayout->removeWidget(m_chartView);
+ baseLayout->removeWidget(settingsScrollBar);
+
+ baseLayout->addWidget(m_chartView, 0, 0);
+ baseLayout->addWidget(settingsScrollBar, 1, 0);
+
+ oldAspectRatio = aspectRatio;
+ }
+ else if ((aspectRatio > 1.0) && (oldAspectRatio < 1.0)) {
+ baseLayout->removeWidget(m_chartView);
+ baseLayout->removeWidget(settingsScrollBar);
+
+ baseLayout->addWidget(m_chartView, 0, 0);
+ baseLayout->addWidget(settingsScrollBar, 0, 1);
+
+ oldAspectRatio = aspectRatio;
+ }
+}
+
+
#include "moc_mainwidget.cpp"
diff --git a/examples/charts/piechartcustomization/mainwidget.h b/examples/charts/piechartcustomization/mainwidget.h
index d3c1e724..ba6c3670 100644
--- a/examples/charts/piechartcustomization/mainwidget.h
+++ b/examples/charts/piechartcustomization/mainwidget.h
@@ -29,6 +29,8 @@
#ifndef MAINWIDGET_H
#define MAINWIDGET_H
+#include "qgridlayout.h"
+#include "qscrollarea.h"
#include <QtWidgets/QWidget>
#include <QtCharts/QChartGlobal>
@@ -70,6 +72,8 @@ public Q_SLOTS:
void removeSlice();
private:
+ void resizeEvent(QResizeEvent *e);
+
QComboBox *m_themeComboBox;
QCheckBox *m_aaCheckBox;
QCheckBox *m_animationsCheckBox;
@@ -100,6 +104,10 @@ private:
QPushButton *m_labelBrush;
QComboBox *m_labelPosition;
BrushTool *m_labelBrushTool;
+ QGridLayout *baseLayout;
+ QScrollArea *settingsScrollBar;
+
+ double oldAspectRatio;
};
#endif // MAINWIDGET_H