国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Qt中的 tableView 設(shè)置 二進(jìn)制 十六進(jìn)制 序號(hào)表頭

這篇具有很好參考價(jià)值的文章主要介紹了Qt中的 tableView 設(shè)置 二進(jìn)制 十六進(jìn)制 序號(hào)表頭。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

二 進(jìn)制序號(hào)

Qt中的 tableView 設(shè)置 二進(jìn)制 十六進(jìn)制 序號(hào)表頭,QT,qt

因?yàn)镼TableView的垂直表頭并不支持使用委托來自定義。
相反,可以通過將自定義的QWidget作為QHeaderView的標(biāo)簽來實(shí)現(xiàn)這一目標(biāo)。

代碼:

#include <QApplication>
#include <QMainWindow>
#include <QVBoxLayout>
#include <QScrollArea>
#include <QTableView>
#include <QStandardItemModel>
#include <QHeaderView>
#include <QLabel>
#include <QPainter>

class BinaryHeaderView : public QHeaderView {
public:
    BinaryHeaderView(Qt::Orientation orientation, QWidget *parent = nullptr) 
        : QHeaderView(orientation, parent) {}

protected:
    void paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const override {
        if (orientation() == Qt::Vertical) {
            QString binary = QString::number(logicalIndex, 2).rightJustified(4, '0');
            painter->save();
            painter->drawText(rect, Qt::AlignCenter, binary);
            painter->restore();
        } else {
            QHeaderView::paintSection(painter, rect, logicalIndex);
        }
    }
};

//------------------------------------------------------------------------以上復(fù)制到自己代碼

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);

    QMainWindow mainWindow;

    // 創(chuàng)建表格
    QTableView tableView;

    // 創(chuàng)建模型和數(shù)據(jù)
    QStandardItemModel model(10, 10);

    for (int row = 0; row < 10; ++row) {
        for (int column = 0; column < 10; ++column) {
            QModelIndex index = model.index(row, column, QModelIndex());
            model.setData(index, QVariant(row * 10 + column + 1));
        }
    }

    tableView.setModel(&model);

    // 設(shè)置水平表頭
    tableView.horizontalHeader()->hide();

//------------------------------------------------------------------------以下復(fù)制到自己代碼
    // 創(chuàng)建垂直表頭
    BinaryHeaderView *verticalHeader = new BinaryHeaderView(Qt::Vertical, &tableView);
    tableView.setVerticalHeader(verticalHeader);
//------------------------------------------------------------------------end

    // 將表格添加到主窗口
    mainWindow.setCentralWidget(&tableView);

    mainWindow.resize(600, 400);
    mainWindow.show();

    return app.exec();
}

在這個(gè)示例中,自定義了BinaryHeaderView類,繼承自QHeaderView,
重寫了paintSection方法來繪制二進(jìn)制序列。然后,將這個(gè)自定義的垂直表頭應(yīng)用到了QTableView中。

十六 進(jìn)制序號(hào)

Qt中的 tableView 設(shè)置 二進(jìn)制 十六進(jìn)制 序號(hào)表頭,QT,qt文章來源地址http://www.zghlxwxcb.cn/news/detail-860293.html

#include <QApplication>
#include <QMainWindow>
#include <QVBoxLayout>
#include <QScrollArea>
#include <QTableView>
#include <QStandardItemModel>
#include <QHeaderView>
#include <QPainter>

class HexHeaderView : public QHeaderView {
public:
    HexHeaderView(Qt::Orientation orientation, QWidget *parent = nullptr) 
        : QHeaderView(orientation, parent) {}

protected:
    void paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const override {
        if (orientation() == Qt::Vertical) {
            QString hex = QString("%1").arg(logicalIndex * 16, 4, 16, QChar('0'));
            painter->save();
            painter->drawText(rect, Qt::AlignCenter, hex);
            painter->restore();
        } else {
            QHeaderView::paintSection(painter, rect, logicalIndex);
        }
    }
};

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);

    QMainWindow mainWindow;

    // 創(chuàng)建表格
    QTableView tableView;

    // 創(chuàng)建模型和數(shù)據(jù)
    QStandardItemModel model(10, 10);

    for (int row = 0; row < 10; ++row) {
        for (int column = 0; column < 10; ++column) {
            QModelIndex index = model.index(row, column, QModelIndex());
            model.setData(index, QVariant(row * 10 + column + 1));
        }
    }

    tableView.setModel(&model);

    // 設(shè)置水平表頭
    tableView.horizontalHeader()->hide();

    // 創(chuàng)建垂直表頭
    HexHeaderView *verticalHeader = new HexHeaderView(Qt::Vertical, &tableView);
    tableView.setVerticalHeader(verticalHeader);

    // 將表格添加到主窗口
    mainWindow.setCentralWidget(&tableView);

    mainWindow.resize(600, 400);
    mainWindow.show();

    return app.exec();
}

到了這里,關(guān)于Qt中的 tableView 設(shè)置 二進(jìn)制 十六進(jìn)制 序號(hào)表頭的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【進(jìn)制轉(zhuǎn)換】— 包含整數(shù)和小數(shù)部分轉(zhuǎn)換(二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制)手寫版,超詳細(xì)

    【進(jìn)制轉(zhuǎn)換】— 包含整數(shù)和小數(shù)部分轉(zhuǎn)換(二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制)手寫版,超詳細(xì)

    目錄 1.進(jìn)制轉(zhuǎn)換必備知識(shí): ????????1.1 二進(jìn)制逢2進(jìn)1? ? ? ? ?8進(jìn)制逢8進(jìn)1? ? ? ? ? ?10進(jìn)制逢10進(jìn)1? ? ? ? 16進(jìn)制逢16進(jìn)1 ????????1.2為了區(qū)分二、八、十、十六進(jìn)制,我們通常在數(shù)字后面加字母進(jìn)行區(qū)分 2. 二進(jìn)制與八進(jìn)制、十六進(jìn)制相互轉(zhuǎn)換 ????????2.1 二進(jìn)制轉(zhuǎn)

    2024年02月05日
    瀏覽(1475)
  • 【Golang】十六進(jìn)制字符串轉(zhuǎn)二進(jìn)制字符串

    在計(jì)算機(jī)科學(xué)中,我們經(jīng)常需要在不同進(jìn)制的數(shù)字之間進(jìn)行轉(zhuǎn)換。Go語言提供了一系列的標(biāo)準(zhǔn)庫來方便我們進(jìn)行這些進(jìn)制轉(zhuǎn)換。本文將介紹如何使用Go語言將十六進(jìn)制字符串轉(zhuǎn)換為二進(jìn)制字符串。 首先,我們定義一個(gè)函數(shù) hexToBinary 用于執(zhí)行這個(gè)轉(zhuǎn)換。該函數(shù)接受一個(gè)十六進(jìn)制

    2024年02月02日
    瀏覽(36)
  • 數(shù)據(jù)結(jié)構(gòu):使用順序棧的基本操作,實(shí)現(xiàn)十進(jìn)制轉(zhuǎn)為二進(jìn)制,十六進(jìn)制的轉(zhuǎn)換

    使用系統(tǒng)環(huán)境: 1:win10,使用工具dev 2:使用系統(tǒng)win10 3:參考書籍?dāng)?shù)據(jù)結(jié)構(gòu)(C語言版——嚴(yán)蔚敏 吳偉民) ( 注意:此文章默認(rèn),學(xué)習(xí)者擁有一定的數(shù)據(jù)機(jī)構(gòu)棧,C語言的知識(shí),書籍第20頁,2.1算法的代碼進(jìn)行一個(gè)簡化。)

    2024年02月05日
    瀏覽(31)
  • 51單片機(jī)LCD1602液晶屏顯示字符,字符串,(有)無符號(hào)整數(shù),十六進(jìn)制數(shù),二進(jìn)制數(shù)等

    51單片機(jī)LCD1602液晶屏顯示字符,字符串,(有)無符號(hào)整數(shù),十六進(jìn)制數(shù),二進(jìn)制數(shù)等

    LCD1602液晶顯示器是廣泛使用的一種字符型液晶顯示模塊。液晶顯示模塊具有體積小、功耗低、顯示內(nèi)容豐富、超薄輕巧等優(yōu)點(diǎn),在嵌入式應(yīng)用系統(tǒng)中得到越來越廣泛的應(yīng)用,這講中向大家介紹的LCD1602?液晶顯示模塊(其內(nèi)部控制器為HD44780?芯片),它可以顯示兩行,每行16?個(gè)字

    2024年02月04日
    瀏覽(33)
  • JS中的常見二進(jìn)制數(shù)據(jù)格式

    格式 描述 用途 示例 ArrayBuffer 固定長度的二進(jìn)制數(shù)據(jù)緩沖區(qū),不直接操作具體的數(shù)據(jù),而是通過類型數(shù)組或DataView對(duì)象來讀寫 用于存儲(chǔ)和處理大量的二進(jìn)制數(shù)據(jù),如文件、圖像等 let buffer = new ArrayBuffer(16); TypedArray 基于ArrayBuffer對(duì)象的視圖,提供特定格式的讀寫接口 用于操作

    2024年04月11日
    瀏覽(23)
  • 【1091. 二進(jìn)制矩陣中的最短路徑】

    【1091. 二進(jìn)制矩陣中的最短路徑】

    來源:力扣(LeetCode) 描述: 給你一個(gè) n x n 的二進(jìn)制矩陣 grid 中,返回矩陣中最短 暢通路徑 的長度。如果不存在這樣的路徑,返回 -1 。 二進(jìn)制矩陣中的 暢通路徑 是一條從 左上角 單元格(即, (0, 0) )到 右下角 單元格(即, (n - 1, n - 1) )的路徑,該路徑同時(shí)滿足下述要

    2024年02月08日
    瀏覽(23)
  • 07-2_Qt 5.9 C++開發(fā)指南_二進(jìn)制文件讀寫(stm和dat格式)

    07-2_Qt 5.9 C++開發(fā)指南_二進(jìn)制文件讀寫(stm和dat格式)

    除了文本文件之外,其他需要按照一定的格式定義讀寫的文件都稱為二進(jìn)制文件 。每種格式的二進(jìn)制文件都有自己的格式定義,寫入數(shù)據(jù)時(shí)按照一定的順序?qū)懭?,讀出時(shí)也按照相應(yīng)的順序讀出。例如地球物理中常用的 SEG-Y 格式文件,必須按照其標(biāo)準(zhǔn)格式要求寫入數(shù)據(jù)才符合

    2024年02月13日
    瀏覽(23)
  • 【MySQL 數(shù)據(jù)寶典】【磁盤結(jié)構(gòu)】- 006 bin log 二進(jìn)制日志的基本模式和參數(shù)設(shè)置

    【MySQL 數(shù)據(jù)寶典】【磁盤結(jié)構(gòu)】- 006 bin log 二進(jìn)制日志的基本模式和參數(shù)設(shè)置

    binlog是一個(gè)二進(jìn)制格式的文件,用于記錄 用戶對(duì)數(shù)據(jù)庫更新的SQL 語句信息,例如更改數(shù)據(jù)庫表和更改內(nèi)容的SQL語句都會(huì)記錄到binlog里,但是不會(huì)記錄SELECT和SHOW這類操作。 binlog在MySQL的Server層實(shí)現(xiàn)(引擎共用) binlog為邏輯日志,記錄的是一條SQL語句的原始邏輯 binlog不限制大小,追

    2024年04月24日
    瀏覽(102)
  • 2023-5-26 LeetCode每日一題(二進(jìn)制矩陣中的最短路徑)

    點(diǎn)擊跳轉(zhuǎn)到題目位置 給你一個(gè) n x n 的二進(jìn)制矩陣 grid 中,返回矩陣中最短 暢通路徑 的長度。如果不存在這樣的路徑,返回 -1 。 二進(jìn)制矩陣中的 暢通路徑 是一條從 左上角 單元格(即,(0, 0))到 右下角 單元格(即,(n - 1, n - 1))的路徑,該路徑同時(shí)滿足下述要求: 路徑途

    2024年02月06日
    瀏覽(91)
  • linux下卸載,安裝mariadb數(shù)據(jù)庫,設(shè)置外部訪問(二進(jìn)制包安裝和卸載,非docker)

    linux下卸載,安裝mariadb數(shù)據(jù)庫,設(shè)置外部訪問(二進(jìn)制包安裝和卸載,非docker)

    ?如果存在,刪除服務(wù) ?刪除目錄(因?yàn)槲襠ocker里也安裝了mysql,所以根據(jù)自己情況刪除 ) 下載地址:?https://mariadb.org/download ?我的數(shù)據(jù)位置在/usr/local/data/mysql ?安裝成功 ?查看數(shù)據(jù)目錄 my.cnf具體配置(網(wǎng)上有很多,找一個(gè)就行,但是注意目錄的修改) ?不修改會(huì)報(bào)錯(cuò) 報(bào)錯(cuò)詳情:詳細(xì)

    2024年02月03日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包