程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> QT分頁導航控件,qt分頁控件

QT分頁導航控件,qt分頁控件

編輯:C++入門知識

QT分頁導航控件,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)信號,然後主窗口裡再作出相應反應,如查詢分頁查詢數據庫

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved