signal.signal(signal.SIGINT, signal.SIG_DFL)
-
-
https://www.pythonfixing.com/2022/02/fixed-ctrl-c-doesn-work-with-pyqt.htmlSur un Debian Buster tout frais, en cas de error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory, il faut exécuter : sudo strip --remove-section=.note.ABI-tag /usr/lib64/libQt5Core.so.5
-
-
https://github.com/dnschneid/crouton/wiki/Fix-error-while-loading-shared-libraries:-libQt5Core.so.5QVariantMap aiaValue = aia.value().toMap();
QCOMPARE(aiaValue.keys(), QList
QString ocsp = aiaValue[QStringLiteral("OCSP")].toString();
-
-
https://code.woboq.org/qt5/qtbase/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp.htmlLe 3ème argument d'un QObject::connect (le contexte) peut être très utile pour éviter les crash en cas de destruction du pointeur visé dans cet argument. Ou en cas de connexion inter-threads.
-
-
https://www.vikingsoftware.com/getting-the-most-of-signal-slot-connections/On peut ajouter une version de Qt sur sa machine grâce à qtchooser:
qtchooser -install 5.8 /opt/Qt/5.8.0/bin/qmake
qmake -qt5.8 -v
-
-
https://harishnavnit.wordpress.com/2014/03/24/handling-multiple-versions-of-qt/Luckily, the spin box appearance can be changed by Style Sheet.
To get “Wheel Diameter” style spin box, use following style sheet:
QSpinBox { border: 3px inset grey; }
QSpinBox::up-button { subcontrol-position: left; width: 40px; height: 35px;}
QSpinBox::down-button { subcontrol-position: right; width: 40px; height: 35px;}
To get “Pulses per Revolution” style spin box, use following style sheet:
QSpinBox { border: 3px outset grey;padding-right: 40px;}
QSpinBox::up-button { subcontrol-position: right; right: 40px; width: 40px; height: 35px;}
QSpinBox::down-button { subcontrol-position: right; width: 40px; height: 35px;}
To get “Count” style spin box, use following style sheet:
QSpinBox { border: 3px groove gray}
QSpinBox::up-button { subcontrol-position: top right; width: 40px; height: 19px;}
QSpinBox::down-button { subcontrol-position: bottom right; width: 40px; height: 19px;}
-
-
http://mmcircuit.com/qt-tips-01-enlarge-spin-box/
-
-
https://stackoverflow.com/questions/24899558/how-to-check-qt-version-to-include-different-headerUn autre post sur les QThread. Quand on connaît un tantiner le sujet, on peut commencer par celui-là pour remettre les pendules à l'heure.
-
-
http://www.vikingsoft.eu/how-to-use-qthread-properly/When adding some files to INSTALLS, they are stripped if they are excecutables.
To avoid using strip, you can update "QMAKE_STRIP" variable and force stripping executables one by one using ".extra":
target.extra = strip $${DESTDIR}/$(TARGET)
QMAKE_STRIP = echo # Avoid striping unwanted files (which will not work)
applibs.files = $${DESTDIR}/*.so*
applibs.path = $$EXPORT_LIBPATH
INSTALLS += applibs
-
-
http://www.gossamer-threads.com/lists/mythtv/dev/141885Un autre post sur les QThread.
-
-
http://blog.debao.me/2013/08/how-to-use-qthread-in-the-right-way-part-1/Hier, j'ai releasé la v0.2.6 de Qompoter, a C++/Qt dependency manager. Outre les améliorations apportées au truc (recherche récursive des paquets, numéros de versions flous du genre v1.*, recherche des paquets dans Inqlude), cela m'a aussi permis de découvrir les scripts d'auto-complémetion Bash ! Et je surkiffe taper qompoter tab tab et voir la liste des actions possibles apparaître "install export inqlude jsong". C'est beau Linux.
Qompoter a atteint un niveau de maturité suffisant pour les petits projets, alors n'hésitez pas ! Vos retours sont les bienvenues.
-
-
https://github.com/Fylhan/qompoterTrès pratique le fichier .qmake.conf.
-
-
https://wiki.qt.io/QMake-top-level-srcdir-and-builddirOui, un framework Web en Qt.
-
-
http://cutelyst.org/2016/03/23/cutelyst-0-11-0-releasedPremiers essais de CMake aujourd'hui :-) Depuis le temps que je souhaitais m'y frotter.
J'aimerai bien que mon petit projet Qompoter (https://github.com/Fylhan/qompoter) sache faire du qmake et du CMake
-
-
http://doc.qt.io/qt-5/cmake-manual.htmlS seulement on pouvait parler d'avantage d'inqlude !
-
-
http://qtway.blogspot.fr/2015/05/inqlude-list-of-qt-libraries.htmlça commence à dater, mais c'est vital pour faire une configuration avancée via qmake.
Another one: http://paulf.free.fr/undocumented_qmake.html
-
-
https://wiki.qt.io/Undocumented_QMakeVoilà qui est encore mieux !!!
OCTAVE_FILES = $$files($${PWD}/scripts/*.m)
copy_files.name = Copy scripts
copy_files.input = OCTAVE_FILES
copy_files.output = $${OUT_PWD}/data/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}
copy_files.commands = ${COPY_FILE} ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT}
copy_files.CONFIG += no_link target_predeps
QMAKE_EXTRA_COMPILERS += copy_files
-
-
http://stackoverflow.com/questions/18488154/how-to-get-qmake-to-copy-large-data-files-only-if-they-are-updated?answertab=votes#tab-topcopydata.commands = $(COPY_DIR) $$PWD/data $$OUT_PWD
first.depends = $(first) copydata
export(first.depends)
export(copydata.commands)
QMAKE_EXTRA_TARGETS += first copydata
Edit : encore mieux -> http://links.la-bnbox.fr/?kqGppw
-
-
http://dragly.org/2013/11/05/copying-data-files-to-the-build-directory-when-working-with-qmake/Cannot find -lGL ? sudo apt-get install libgl1-mesa-dev
-
-
http://stackoverflow.com/questions/21092733/qt-debian-ubuntu-cant-compile-error-cannot-find-lglCette bibliothèque Qt pour lancer un serveur ou un client HTTP semble idéale (licence MIT). Plus aboutie que QHttpServer (https://github.com/nikhilm/qhttpserver, licence MIT aussi).
ça fait plusieurs développeurs Node.js que je vois aussi faire du C++ avec beaucoup de talent. C'est bien les gars ;-)
-
-
https://github.com/azadkuh/qhttpVoilà qui est bien pratique ! Il faut que je teste si une même génération fonctionne pour Linux et Windows, ou s'il y a des liens absolus...
-
-
http://blog.qt.digia.com/blog/2014/08/13/qt-weekly-17-linking-qt-classes-in-documentation-generated-with-doxygen/Premier article d'une série sur les tests en Qt / C++.
-
-
http://30minparjour.la-bnbox.fr/2014/architecture-tests-en-cpp-avec-qt#more-1648
QList<QMdiSubWindow > subWindows = ui->mdiArea->subWindowList();
QMdiSubWindow mySubWindow = subWindows.at(0);
mySubWindow->setWindowIcon(QIcon());
-
-
https://qt-project.org/forums/viewthread/7932
class Switch : public State
{
public:
int a;
};
QSharedPointer
QSharedPointer
C'est mieux que (Switch*)myState.data() non ?
-
-
http://stackoverflow.com/questions/3500336/polymorphic-qsharedpointerInqlude: http://inqlude.org/
Qt Apps : http://qt-apps.org/
Site officiel : http://qt-project.org/wiki/Category:Add-ons
Sur Github : https://github.com/search?nwo=0TheFox0%2FOpenChart&p=7&q=qt+plugin&ref=cmdform&search_target=global&type=Repositories
-
-
http://inqlude.org/Le concept de lock-free programming est vraiment intéressant : empêcher les possibilités de blocages, ou les erreurs lors de l'utilisation d'une mémoire partagée entre plusieurs threads. L'idée étant de ne pas utiliser de mutex, et soit de séquentialiser l'accès à la mémoire partagée, soit d'utiliser des petites opérations atomiques (qui seront exécutée sans interruptions).
Il n'est pas tellement vraisemblable de créer un gros programme lock-free, l'idée est plutôt de rester pragmatique et de faire interagir plusieurs parties lock-free entres elles.
Le gain en performance par rapport à des mutex est assez flagrant. Et c'est à mettre en place pour coder efficacement sur du multi-processeur. Mais les compétences pour une mise en œuvre correcte sont aussi plus grandes.
"So keep mutexes, unless you have a lot of lock contention or are looking for a challenge."
Une autre ressource sur le sujet :
http://woboq.com/blog/introduction-to-lockfree-programming.html
Et comment gérer des opérations atomiques en Qt :
http://qt-project.org/doc/qt-5/qatomicint.html
-
-
http://preshing.com/20120612/an-introduction-to-lock-free-programming/"When you move a parent QObject, all its children are automatically moved too.
Remember though that member variables do not automatically become children; the parent-child relationship must be set by either:
J'ai comme le sentiment que cette remarque devrait être beaucoup plus visible dans les tutoriels sur les threads Qt !!!
-
-
http://qt-project.org/forums/viewthread/14806/P15Une définition assez claire de "thread-safe" et "reentrant".
-
-
http://qt-project.org/doc/qt-5/threads-reentrancy.htmlExcellente explication sur la GUI Qt (widgets) : fenêtre, dock, etc...
-
-
http://web.univ-pau.fr/~puiseux/enseignement/python/tutoQt-zero/tuto-PyQt-zero.10.htmlOk, je crois que je vais me coltiner ça.
-
-
http://qt-project.org/doc/qt-5/model-view-programming.htmlApparement, voici la liste des DLL nécessaires pour faire tourner un programme sous Qt5 :
-
-
http://fr.openclassrooms.com/forum/sujet/qt-dll-liste-des-dll-sous-qt-5-0-2Des bibliothèques (et exemples d'applications) sous Qt pouvant s'avérer utiles à l'occasion.
-
-
http://qt-apps.org/index.php?xcontentmode=4299&PHPSESSID=f08ddb43f9aa3df5c5e613b81805af4bEn attendant de détailler mes bidouilles, ou de tester des bibliothèques tierces, voici au moins un petit état de l'art de ce que j'ai trouvé pour dessiner des graphiques / courbes / histogrammes en Qt.
-
-
http://30minparjour.la-bnbox.fr/2013/dessiner-des-graphiques-avec-qtUtilisation avancée de qmake, notamment la gestion des variables. Voilà ce que je cherchais depuis quelques temps...
-
-
http://doc.qt.io/qt-5/qmake-advanced-usage.html