Skip to main content

QHexEdit2

.github/workflows/badge-library.yml .github/workflows/badge-binary.yml .github/workflows/badge-designer-plugin.yml

Application QHexEdit2 in Action

QHexEdit is a hex editor widget written in C++ for the Qt (Qt5, Qt6) framework. It is a simple editor for binary data, just like QPlainTextEdit is for text data. There are sip configuration files included, so it is easy to create bindings for PyQt and you can use this widget also in python.

QHexEdit takes the data of a QByteArray (setData()) and shows it. You can use the mouse or the keyboard to navigate inside the widget. If you hit the keys (0..9, a..f) you will change the data. Changed data is highlighted and can be accessed via data().

Normally QHexEdit works in the overwrite mode. You can set overwrite mode(false) and insert data. In this case the size of data() increases. It is also possible to delete bytes (del or backspace), here the size of data decreases.

You can select data with keyboard hits or mouse movements. The copy-key will copy the selected data into the clipboard. The cut-key copies also but deletes it afterwards. In overwrite mode, the paste function overwrites the content of the (does not change the length) data. In insert mode, clipboard data will be inserted. The clipboard content is expected in ASCII Hex notation. Unknown characters will be ignored.

QHexEdit comes with undo/redo functionality. All changes can be undone, by pressing the undo-key (usually ctr-z). They can also be redone afterwards. The undo/redo framework is cleared, when setData() sets up a new content for the editor. You can search data inside the content with indexOf() and lastIndexOf(). The replace() function is to change located subdata. This 'replaced' data can also be undone by the undo/redo framework.

QHexEdit is based on QIODevice, that's why QHexEdit can handle big amounts of data. The size of edited data can be more then two gigabytes without any restrictions.

Using QHexEdit (C++)

You can read the documentation of the project here. You find in the sources a C++ example, that shows how to use the QHexedit widget. The binaries for the example for the Windows platform are stored with the respective release.

Using QHexEdit (Python)

To use QHexEdit with Python install it from PyPi:

$ # for PyQt5
$ pip install PyQt5 PyQt5-QHexEdit
$
$ # for PyQt6
$ pip install PyQt6 PyQt6-QHexEdit

The sources and binaries for Windows 64 bit and Linux 64 bit are stored on PyPi. For all other targets, the widget must be compiled locally. For this, the corresponding Qt version including the developer packages must be installed. It makes sense to compile the C++ project first. If this is possible with qmake, it is also possible to compile the PyQt bindings. This requires python build.

There is also a python example available.

Contributing to QHexEdit

We love to receive contributions. You can submit bug reports here. If you are a developer, you can pick up a work item and start to realize super exciting features or fix bugs. We also like to receive enhancement proposals or translation support.

License

Copyright (C) 2015-2016 Winfried Simon

This software may be used under the terms of the GNU Lesser General
Public License version 2.1 as published by the Free Software Foundation
and appearing in the file license.txt included in the packaging of this file.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

Metadata

Release files for PyQt6-QHexEdit 0.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for PyQt6-QHexEdit 0.9.0
File Size Uploaded
pyqt6_qhexedit-0.9.0.tar.gz 31.3 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for PyQt6-QHexEdit 0.9.0
File Interpreter ABI Platform
pyqt6_qhexedit-0.9.0-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
pyqt6_qhexedit-0.9.0-cp311-none-win_amd64.whl CPython 3.11 none Windows x86-64 Details

Total release size: 146.6 kB

Release files / pyqt6_qhexedit-0.9.0.tar.gz

Download URL pyqt6_qhexedit-0.9.0.tar.gz
Size 31.3 kB
Tags Source
SHA-256 checksum
How to use checksums
ff7122336c4b2d5f4e540ef5104d93ccdc0096c7d826f3a62a0d178ff0ac746d
BLAKE2b-256 checksum
How to use checksums
9ba898e127a2b7e211f129df349b1407953411fbab60de179d10061b87cee51c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / pyqt6_qhexedit-0.9.0-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL pyqt6_qhexedit-0.9.0-cp312-cp312-manylinux_2_28_x86_64.whl
Size 61.4 kB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
cccc29bd5071542eda152d8933d0dc7c860f109320d7979f57a6b50f78c0675e
BLAKE2b-256 checksum
How to use checksums
5ec9685d8f70dc2279038095151828577549f9c1f3ee0dd7cce882b42a41cb59
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / pyqt6_qhexedit-0.9.0-cp311-none-win_amd64.whl

Download URL pyqt6_qhexedit-0.9.0-cp311-none-win_amd64.whl
Size 53.8 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
0f328a094555a1f20c055f36c0b6266b32bf8e0d3e99b696e34f65b6110a4db0
BLAKE2b-256 checksum
How to use checksums
f3b5fc5ceccf586cb928a387baccdfc0efbe62501d0dc8eba9e86fe2ec5918e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.9.0 This release

3 release files

0.8.11

3 release files

0.8.10

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page