2022-04-29 20:01:14 +02:00
|
|
|
#include "pybind11_qt/pybind11_qt.h"
|
|
|
|
|
|
|
|
|
|
#include <pybind11/pybind11.h>
|
|
|
|
|
|
2022-04-29 22:23:57 +02:00
|
|
|
using namespace pybind11::literals;
|
|
|
|
|
|
2022-04-29 20:01:14 +02:00
|
|
|
PYBIND11_MODULE(qt, m)
|
|
|
|
|
{
|
|
|
|
|
// QString
|
|
|
|
|
|
|
|
|
|
m.def("qstring_to_stdstring", [](QString const& qstring) {
|
|
|
|
|
return qstring.toStdString();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
m.def("stdstring_to_qstring", [](std::string const& string) {
|
|
|
|
|
return QString::fromStdString(string);
|
|
|
|
|
});
|
|
|
|
|
m.def("qstring_to_int", [](QString const& qstring) {
|
|
|
|
|
return qstring.toInt();
|
|
|
|
|
});
|
|
|
|
|
m.def("int_to_qstring", [](int value) {
|
|
|
|
|
return QString::number(value);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// QStringList
|
|
|
|
|
|
|
|
|
|
m.def("qstringlist_join", [](QStringList const& values, QString const& sep) {
|
|
|
|
|
return values.join(sep);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
m.def("qstringlist_at", [](QStringList const& values, int index) {
|
|
|
|
|
return values.at(index);
|
|
|
|
|
});
|
2022-04-29 22:23:57 +02:00
|
|
|
|
|
|
|
|
// QMap
|
|
|
|
|
m.def("qmap_to_length", [](QMap<QString, QString> const& map) {
|
|
|
|
|
QMap<QString, int> res;
|
|
|
|
|
for (auto it = map.begin(); it != map.end(); ++it) {
|
|
|
|
|
res[it.key()] = it.value().size();
|
|
|
|
|
}
|
|
|
|
|
return res;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// QDateTime
|
|
|
|
|
|
|
|
|
|
m.def(
|
|
|
|
|
"datetime_from_string",
|
|
|
|
|
[](QString const& date, Qt::DateFormat format) {
|
|
|
|
|
return QDateTime::fromString(date, format);
|
|
|
|
|
},
|
|
|
|
|
"string"_a, "format"_a = Qt::DateFormat::ISODate);
|
|
|
|
|
|
|
|
|
|
m.def(
|
|
|
|
|
"datetime_to_string",
|
|
|
|
|
[](QDateTime const& datetime, Qt::DateFormat format) {
|
|
|
|
|
return datetime.toString(format);
|
|
|
|
|
},
|
|
|
|
|
"datetime"_a, "format"_a = Qt::DateFormat::ISODate);
|
2022-04-29 20:01:14 +02:00
|
|
|
}
|