张家口网站建设费用,成都网站制作关键词推广排名,电商平台有哪些网站名,网站开发前后端分工表格QTableWidget
QTableWidget 是一个表格控件#xff0c;行和列交汇形成的每个单元格#xff0c;是一个 QTableWidgetItem 对象。
1. QTableWidget属性
QTableWidget 的属性只有两个#xff1a;
属性说明rowCount当前行的个数。columnCount当前列的个数。
2. QTableW…表格QTableWidget
QTableWidget 是一个表格控件行和列交汇形成的每个单元格是一个 QTableWidgetItem 对象。
1. QTableWidget属性
QTableWidget 的属性只有两个
属性说明rowCount当前行的个数。columnCount当前列的个数。
2. QTableWidget信号
信号说明cellClicked(int row, int column)点击单元格时触发。cellDoubleClicked(int row, int column)双击单元格时触发。cellEntered(int row, int column)鼠标进入单元格时触发。currentCellChanged(int row, int column,int previousRow, int previousColumn)选中不同单元格时触发。
3. QTableWidget方法
方法说明item(int row, int column)根据行数列数获取单元格的 QTableWidgetItem* 。setItem(int row, int column, QTableWidgetItem*)根据行数列数设置单元格中的元素。currentItem()返回被选中的元素 QTableWidgetItem* 。currentRow()返回被选中的是第几行。currentColumn()返回被选中的是第几列。row(QTableWidgetItem*)获取指定 item 是第几行。column(QTableWidgetItem*)获取指定 item 是第几列。rowCount()获取行数。columnCount()获取列数。insertRow(int row)在第 row 行处插入新行新行变为第 row 行。insertColumn(int column)在第 column 列插入新列新列变为第 column 列。removeRow(int row)删除第 row 行。removeColumn(int column)删除第 column 列。setHorizontalHeaderItem(int column, QTableWidget*)设置指定列的表头。setVerticalHeaderItem(int row, QTableWidget*)设置指定行的表头。
4. QTableWidgetItem方法
方法说明row()获取当前是第几行。column()获取当前是第几列。setText(const QString)设置文本。setTextAlignment(int)设置文本对齐。setIcon(const QIcon)设置图标。setSelected(bool)设置能否被选中。setSizeHints(const QSize)设置尺寸。setFont(const QFont)设置字体。
5. 使用QTableWidget制作一个表格编辑器
表格编辑器的大部分功能 Qt 都已经提供了我们只需要制作几个添加行首、列首之类的接口即可
#include widget.h
#include ui_widget.hWidget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui-setupUi(this);ui-lineEdit-setPlaceholderText(输入新增的列名);
}Widget::~Widget()
{delete ui;
}void Widget::on_pushButton_addRow_clicked()
{int row ui-tableWidget-rowCount();ui-tableWidget-insertRow(row);
}void Widget::on_pushButton_addColumn_clicked()
{QString contentui-lineEdit-text();if(content.isEmpty()){return;}int column ui-tableWidget-columnCount();ui-tableWidget-insertColumn(column);ui-tableWidget-setHorizontalHeaderItem(column,new QTableWidgetItem(content));}void Widget::on_pushButton_deleteRow_clicked()
{int curRowui-tableWidget-currentRow();ui-tableWidget-removeRow(curRow);
}void Widget::on_pushButton_deleteColumn_clicked()
{int curColumnui-tableWidget-currentColumn();ui-tableWidget-removeremoveColumn(curColumn);
}