QTableWidget獲取遊標所在行號和列號的正確姿勢
最近筆者在專案開發過程中需要獲取QTableWidget的游標位置,琢磨了一段時間,拿出來和大家分享一下。
1.先說正確的姿勢:
connect(this, &QTableWidget::itemSelectionChanged, [=]()
{
qDebug() << "row = " << currentRow();
qDebug() << "column = " << currentColumn();
});
PS:如果setCellWidget(int row, int column, QWidget *widget)之後游標上下左右移動不正常(如setCellWidget(2, 3, new QPushButton)),可以試著將QPushButton的聚焦策略改為Qt::NoFocus;
2.錯誤的姿勢:
#if true void TableWidget::keyPressEvent(QKeyEvent *event) { qDebug() << "row = " << currentRow(); qDebug() << "column = " << currentColumn(); QTableWidget::keyPressEvent(event); } void TableWidget::mouseReleaseEvent(QMouseEvent *event) { qDebug() << "row = " << currentRow(); qDebug() << "column = " << currentColumn(); QTableWidget::mouseReleaseEvent(event); } #endif #if true void TableWidget::keyPressEvent(QKeyEvent *event) { qDebug() << "row = " << moveCursor(QAbstractItemView::MoveRight, Qt::KeyboardModifierMask).row(); qDebug() << "column = " << moveCursor(QAbstractItemView::MoveRight, Qt::KeyboardModifierMask).column(); QTableWidget::keyPressEvent(event); } void TableWidget::mouseReleaseEvent(QMouseEvent *event) { qDebug() << "row = " << moveCursor(QAbstractItemView::MoveRight, Qt::KeyboardModifierMask).row(); qDebug() << "column = " << moveCursor(QAbstractItemView::MoveRight, Qt::KeyboardModifierMask).column(); QTableWidget::mouseReleaseEvent(event); } #endif
PS:單元格座標到邊界位置會出現異常,引以為戒;
相關推薦
QTableWidget獲取遊標所在行號和列號的正確姿勢
最近筆者在專案開發過程中需要獲取QTableWidget的游標位置,琢磨了一段時間,拿出來和大家分享一下。 1.先說正確的姿勢: connect(this, &QTableWidget::i
C#獲取陣列的行數和列數
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test02 { class Program {
獲取ResultSet的行數和列數
獲取ResultSet行數時需要使用可回滾的遊標,自定義方法,獲取行數後要回滾,獲取ResultSet列數時通過ResultSetMetaData類的getColumnCount方法即可獲得。 示例程式碼: publicclass Test ...{ publicsta
DataGridview 獲得當前單元格的行號和列號.
private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e) {
如何獲取ResultSet的行數和列數
當我們執行資料庫查詢返回一個ResultSet的時候,很多情況下我們需要知道這個ResultSet的大小,即它的行數和列數。我們知道它的列數可以通過resultSet.getMetaData().getColumnCount()很容易地得到,然而,java API沒有提供直接訪問ResultSet行數的介面
Java 數組 獲取二維數組的行數和列數
怎樣 tps lan 個數 元素 mil family 資料 object 對於Object[][] array,array.length返回行數,array[0].length返回列數,元素個數為array.length*array[0].length。 參考
js獲取table的行數和表格中某一行某一列的內容
table的id=“tab” 一、獲取table的行數 var count=document.getElementById("tab").rows.length; 二、獲取第i行第j列的內容(方式不止三種,根據實際情況選擇,比較推薦方式一) 方式一: var title=tab.rows
C#中如何獲取一個二維陣列的兩維長度,即行數和列數?
int[,] array = new int[,] {{1,2,3},{4,5,6},{7,8,9}};//定義一個3行3列的二維陣列 int row = array.Rank;//獲取行數 int col = array.GetLength(1);//獲取指定維中的元 個
獲取SQL查詢結果集中的行數和列數
轉自http://cheneyph.iteye.com/blog/477829 在Java中,獲得ResultSet的總行數的方法有以下幾種。 第一種:利用ResultSet的getRow方法來獲得ResultSet的總行數 Statement stmt = con.cre
android獲取當前軟件版本號號和版本號名稱
.get 軟件 版本 exceptio ctx ica blog found 版本號 <span style="font-size:18px;">/** * 獲取本地軟件版本號 */ public stati
C#中二維數組的行數和列數
取數 word 二維數組 同學 定義 dimen 行數 nbsp col 最近在項目中用到二維數組,需要獲取數組的行數和列數,本以為是很簡單的一些東西,卻發現網上好多答案都是錯誤的,遂寫下隨筆,希望之後有用到的同學們能夠順利解決答案。 下面是一些關於數組的一些屬性和方法以及
VBA取得EXCEL表格中的行數和列數
VBA取得EXCEL表格中的行數和列數 初學EXCEL巨集的童鞋,總是很想知道表格中含有資料的行數和列數,尤其是行數和列數不確定的情況下。這樣可以避免很多的錯誤,並且可以提高效率。但每次用到的時候到網上查詢時,總是給了很多無用的答案,往往找不到想要的
線性代數之——行影象和列影象
1. 線性方程組的幾何解釋 線性代數的中心問題就是解決一個方程組,這些方程都是線性的,也就是未知數都是乘以一個數字的。 \[\begin{alignedat}{2} &x \space- \space&2&y \space=\space 1 \\ 3&x\space+\sp
行儲存和列儲存
列儲存的資料庫更適合OLAP 行儲存的資料庫更適合OLTP 所謂的快只是針對於進行olap操作而言 我們知道,資料在儲存中的基本單位為頁,這也是進行資料讀取時候基本單位,一次讀取就是一次IO操作 以sql server為例,一個數據頁大小為8K,資料頁中儲存的是資料,資料是連續儲存的 那麼我假設如下的
openpyxl設定單元格大小(行高和列寬)
本文主要討論 openpyxl如何設定(調整)單元格大小(行高和列寬),其他功能可參考:Python3 進行讀取、修改和寫Excel表格(.xlsx檔案)的常用功能示例 https://blog.csdn.net/COCO56/article/details/84403107 示例程式碼
VS 計算二維陣列的行數和列數
對於一個二維陣列如: int a[2][5]; 求陣列元素的總數: sizeof(a) / sizeof(int) 而陣列行數則為 :( sizeof(a) / sizeof(int) )/ ( sizeof(a[0]) / sizeof(int) ) 求陣列列數: si
圖形學中的行矩陣和列矩陣
什麼是列矩陣? 比如M(x,y)表示取出矩陣的x行y列元素,那麼對於一個4x4的齊次矩陣K來說,如果它的位置分向量為T(下標索引從0開始計,一個矩陣有旋轉分量和位置分量),則T為T=Vec3(K(0,3
行指標和列指標詳解
主要指二維陣列 int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; 換個角度看世界: 如首行一樣,將首行視為一個元素,一個特殊的元素,這個“特殊的”元素是一個一維陣列。那麼這個二維陣列是由是由三個“特殊的”元素組成的
C:關於指標作函式引數時求矩陣轉置的思考(對比行指標和列指標)
行指標 實質 實質是將每一行看成一個元素,即原本矩陣的“形狀”是不變的。 如一個33的矩陣 1|2|3 4|5|6 7|8|9 儲存在一個44的、被初始化為0矩陣中為: 1|2|3|0 4|5|6|0 7|8|9|0 0|0|0|0 表示 p[i][j] <
行指標和列指標的理解
指標與二維陣列 int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; 我們以為,二維陣列的儲存形式是: 但是,二維陣列實際上是以一維陣列為單位連續儲存的。 這樣,上述的二維陣列就可以看成是“特殊的”一維陣列了。 而陣列名a是