Tag: qt

Effective Threading Using Qt



Effective Threading Using Qt Introduction Over the years using Qt I’ve seen a lot of difficulty using threads with Qt. Threads can be difficult and Qt provides a lot of ways to make threads easy to work with. Still basic / direct / low level threading (I’ll just call... Continue reading

Extending an Application with Lua Plugins



Introduction A very common use of the Lua language (which is a very versatile) is using Lua to extend an application via plugins. Many popular games use Lua for this very purpose. Adding a plugin framework to an existing application is trivial with Lua. Also, Lua provides a very... Continue reading

Retrieve Formatting Set by QSyntaxHighlighter



I have been working on adding inline spell check to Sigil recently and ran into a quirk on Qt that isn’t immediately obvious. I ended up having to look though the Qt source code to understand exactly what was happening. When dealing with a QPlainTextEdit you can get... Continue reading

Sigil Now Supports Translations



One of the the new features that has been implemented for 0.5 (release date yet to be determined) is support for Translations. For Sigil’s first supported language Grzegorz Wolszczak has provided a Polish translation. Currently translations are loaded based upon the current system locale. There no support for choosing the... Continue reading

Qt Remove Directory and Its Contents



When dealing with directories, Qt has a large number of functions to make manipulating them easy. However, it does not include a way to delete a non-empty directory. This little omission is easily solved. Following is a recursive function that will delete a directory along with all of it’s contents.... Continue reading

lebookread



I have been taking a short break from blogging again. The pressure at work has only increased and is eating into a lot of my time. I haven’t been motivated to work on personal projects because well they are work. However, this has recently changed a bit. I’ve started a... Continue reading

KDocker 4.2 released



This release includes bug fixes as usual. Some new features: bash completion, iconify on focus lost option and Italian translation thanks to Alessio Cassibba. There is also a small change to the behavior when activating the tray icon. If the window is not visible it will become active and if... Continue reading

KDocker 4.0



Recently I’ve become the maintainer of the KDocker project. KDocker is a Qt application what allows you dock any application into the system tray. It currently supports any X Windows system. What I’ve done for the 4.0 release is, move the project to launchpad (Girish, the creator of the project... Continue reading

Niw Markdown Editor



For the past three weeks I’ve been working on an editor for working with plain text files and making it easy to add markdown syntax to them. My main goal is to make it easier to format the large number of ebooks I have. Almost all of them are plain... Continue reading

QPlainTextEdit With In Line Spell Check



Update: Simplified Highlighter.highlightBlock function One thing Qt lacks is an integrated spell check in the text entry components. For a project I’m working on this is necessary. Using python-enchant and the QSyntaxHighlighter I was able to implement this functionality. Here is how to add an in... Continue reading

Better QPlainTextEdit With Line Numbers



My last post was an implementation of a Qt widget which displays text with line numbers. I found that it has a few limitations. The biggest was a performance penalty when dealing with large documents. I’ve since re-factored and rewritten the class to make the performance acceptable. I’ve also cleaned... Continue reading

QTextEdit With Line Numbers



Here is a Qt4 widget written in Python that allows for line numbers next to a QTextEdit. Similar to what is seen in a number of text editors such as gedit and kate. from PyQt4.Qt import QFrame, QWidget<span... Continue reading

History Drop Down With Model



Following is a bit of python code that illustrates how to create a QComboBox that attaches to a model for listing history items. The main features of this code are items entered in the text area of the combo are added to the history. Selected items and items... Continue reading

QCompleter and Comma-Separated Tags



Here is a python script demonstrating how to use QCompleter to complete multiple tags in a QLineEdit. A few features of this script are: removing tags from the drop down that already appear in the QLineEdit, caching the tags, and inserting a , after... Continue reading

Calibre Week in Review



Not much happened this week. A few bug fixes and a new output format, RTF. It produces acceptable results. It also embeds images into the file. The output could use some tweaking, but this will come with time. The only caveat is the output is ascii only. This is to... Continue reading

Building the eBook Tools



It’s come to my attention that while I’ve posted a few eBook formatting tools I wrote and use I never posted how to build them. Since I’m using Qt the easiest way to build them is to use qmake and make. The build process is simple.... Continue reading

eBook Adding Empty Lines At End of File



Continuing my work to clean up my eBooks I’ve written another little tool to help. I like for my eBooks to have two blank lines at the end of the file. The only major caveat of this one is it assumes Unix end of lines. Meaning a single n character.... Continue reading

eBook Paragraph Formating



Today I wrote two simple programs to help me clean up my ebooks. I prefer to keep my ebook collection as plain text files with paragraphs separated by a blank line. The first program reflows the paragraphs to put each on a single line. The second removes extraneous whitespace from... Continue reading

ARC ActiveX Apple B&N Base64 C lang COM DLL DNS Device Docker FLAC FT GUI GeR2 JNI Javascript Linux Lua Lua C API Mac N770 OS X Off Road OpenSSL REST API STR Shocks Sigil Suspension TLS TOC TRD TRD Pro TRD Sport Tacoma Toyota Vaultwarden Windows WireGuard about ad blocking algorithm amazon analysis android apnx app arch linux automotive backup bash batteries bitwarden book bookeen bookview bug bzr c++ calibre car cats certbot compression configuration container conversion copyright copyright infringement cover cso cybook data structure decoding decompression development device interfaces direction distros dmca donations downloader drm dropbox duplicity eReader ebook ebooks editor electronics encoding epub fb2 files focus st formats formatting future gadgets generic type get books git github gnome google gpl guide hardening headless heuristic hex hg htmlz iOS ideas image intel internationalization interop java jekyll json kernel kindle kwin language law lebookread legal library linode maintenance maintenance programming malware blocking markdown memory mobi mp3 music nginx nook objective-c opds openid opensearch opf packages palmdoc password manager pcre pdb pdf pgm plans play store plucker plugin pml pmlz pocket pro podcast podman ppa print project management prs prs300 prs505 prs700 prs900 pyqt python qt rb regex release restic reveiw reverse engineer reverse proxy review rtf s2n scm screen saver screenshot script search security server sort sorting source code specification spell check spideroak ssl store sync t2b t4b tcr textile thanks thread threading thumbnail tips translations truck txt txtz ubuntu unbound usb vault video vpn vps widget wordpress wpmu x11 xlib xorg xxd yubikey zip zsh ztxt