• Qt分页导航控件


    最近在使用QTableWidget时,因为结果数量比较多而且又有单元格控件,为了改善效率要做分页处理。在网上找了一番,最后在http://www.cppblog.com/biao/archive/2011/10/30/159350.html 基础上修改而来,首先感谢原作者。

    改后的版本:http://files.cnblogs.com/files/roadbike/PageNavigator.7z

    新的效果如下图(windows系统):

    改动点:

    点击页码标签后,若之前有手工输入页码,先清除之;

    解决页码标签内存泄漏;

    页码标签padding增大为6,方便点击(可能是系统的差别,看着原版截图边距也蛮大的,在我的win10就挨得很近);

    上一页、下一页与页码之间增加分隔符,避免如点击下一页时误点到页码(页码标签长度变化时比较容易点错);

    setStyleSheet挪到构造函数中;

    调整代码格式与类命名、统一参数命名等使其符合我们项目的标准;

    其他小改动不太记得了 O(∩_∩)O哈哈哈~

    使用方法,引用原文,并把类名等更新了:

        // 把分页组件加入到当前窗口
        pageNavigator = new PageNavigator();
        layout()->addWidget(pageNavigator);
    
    
    当总页数改变时(如查询数据库操作得到总页数),只需要调用pageWidget的两个函数
    void Widget::changeMaxPage() {
        pageNavigator->setMaxPage(ui->lineEdit->text().toInt());
        pageNavigator->setCurrentPage(1);
    }
    
    pageNavigator上的页码被点击后,会发射void currentPageChanged(int page)信号,然后主窗口里再作出相应反应,如查询分页查询数据库
  • 相关阅读:
    python
    python
    gitlab
    nodejs
    java
    ElasticSearch 安装与配置 (windows)
    shell脚本批量注释
    C获取系统中CPU核数
    linux内核内存管理
    perf: interrupt took too long (3136 > 3126), lowering kernel.perf_event_max_sample_rate to 63000
  • 原文地址:https://www.cnblogs.com/roadbike/p/5768514.html
Copyright © 2020-2023  润新知