代码拉取完成,页面将自动刷新
#ifndef HEXWIDGET_H
#define HEXWIDGET_H
#include <QAbstractScrollArea>
class HexWidget : public QAbstractScrollArea
{
Q_OBJECT
signals:
void onSelect(qint64 pos);
public:
HexWidget(QWidget *parent);
~HexWidget();
void setData(const QByteArray &data);
void setSelect(qint64 pos, int len);
QByteArray getSelectData();
qint64 findBytes(const QByteArray &data, bool next);
protected:
// Handle events
QSize sizeHint() const;
void mousePressEvent(QMouseEvent * event);
void paintEvent(QPaintEvent *event);
void resizeEvent(QResizeEvent *);
void changeEvent(QEvent *event);
private:
void init();
// Ensure the cursor to be visbile
void ensureSelectVisible();
private:
QByteArray m_data;
qint64 m_size;
qint64 m_selectPosition;
int m_selectSize;
int m_descent;
int m_ascent;
int m_lineHeight; // 每行高度
int m_charWidth; // 每个字符的宽度
int m_margin; // 16进制字节间隔离宽度
int m_columnWidth; // 每个16进制字节的宽度
int m_labelWidth; // 地址信息宽度
int m_HexWidth; // 16进制显示宽度
int m_textWidth; // 文本信息宽度
int m_bytesPerLine; // 每行显示字节数
int m_addressBytes; // 地址信息字节数
qint64 m_numLines; // 总行数
qint64 m_numVisibleLines; // 页面内可显示的行数
};
#endif // HEXWIDGET_H
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。