QTableWidget中的clicked和DoubleClicked事件
来源:互联网 发布:宏景软件 编辑:程序博客网 时间:2024/04/29 22:39
本来昨晚想写一个双击table中的某个Item,便活的这个item所在的记录,然后产生事件的一个小程序。但是却发现了一个让我很无语的问题。我用文档里提供的Itemclicked()和ItemdoubleClicked()信号无论如何都连不上。但发现其他的CELL信号和itemSelectionChanged ()信号是可以的。郁闷的我百思不得其解。
跑了QT论坛上问,还没人给出原因。索性今上午找了个替代方案。既然CellClicked()与CellDoubleClicked()是可以的,但就获得行列数,再根据这两个参数从table中得到对应的item ,不就相当于item的点击事件了。
经过尝试,可行。
以下是双击某个cell,选中这一行并且获得这一行第一列的值。
Table_RC::Table_RC(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);
ui.tableWidget->setSelectionBehavior ( QAbstractItemView::SelectRows); //设置选择行为,以行为单位
ui.tableWidget->setSelectionMode ( QAbstractItemView::SingleSelection); //设置选择模式,选择单行
ui.tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
connect(ui.tableWidget,SIGNAL(cellDoubleClicked(int,int)),this,SLOT(testSlot(int,int)));
}
void Table_RC::testSlot(int row,int column){
QTableWidgetItem * item1 = new QTableWidgetItem;
item1 = ui.tableWidget->item(row,0);
ui.pushButton->setText(item1->text());
}
原因刚刚搞明白了:
因为整个table的text都没设。
如果item的text都有值,就可以发出信号了,原因我不是很懂。
跑了QT论坛上问,还没人给出原因。索性今上午找了个替代方案。既然CellClicked()与CellDoubleClicked()是可以的,但就获得行列数,再根据这两个参数从table中得到对应的item ,不就相当于item的点击事件了。
经过尝试,可行。
以下是双击某个cell,选中这一行并且获得这一行第一列的值。
Table_RC::Table_RC(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);
ui.tableWidget->setSelectionBehavior ( QAbstractItemView::SelectRows); //设置选择行为,以行为单位
ui.tableWidget->setSelectionMode ( QAbstractItemView::SingleSelection); //设置选择模式,选择单行
ui.tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
connect(ui.tableWidget,SIGNAL(cellDoubleClicked(int,int)),this,SLOT(testSlot(int,int)));
}
void Table_RC::testSlot(int row,int column){
QTableWidgetItem * item1 = new QTableWidgetItem;
item1 = ui.tableWidget->item(row,0);
ui.pushButton->setText(item1->text());
}
原因刚刚搞明白了:
因为整个table的text都没设。
如果item的text都有值,就可以发出信号了,原因我不是很懂。
- QTableWidget中的clicked和DoubleClicked事件
- 为qlabel添加单击事件 clicked(),event
- Qt QLineEdit QLabel 添加clicked事件
- Qt QLineEdit QLabel添加clicked事件
- dw的clicked事件,选中行
- 自定义QTreeWidget和QTableWidget控件鼠标滚轮事件
- QT中的模型视图之---QListWidget、QTreeWidget 和 QTableWidget
- QTableWidget中的QCheckBox使用
- 遍历QTableWidget中的数据
- QListWidget、QTreeWidget 和 QTableWidget
- QListWidget、QTreeWidget 和 QTableWidget
- qtableview和qtablewidget区别
- Qt QTableWidget 和 QTableView
- QListWidget、QTreeWidget 和 QTableWidget
- QTableWidget和QTableView
- QListWidget、QTreeWidget 和 QTableWidget
- 分享一下,树形数据窗口双击那一层自动展开或收缩(数据窗口DoubleClicked事件中处理)
- QModelIndex在QTableWidget中的使用
- QTreeWidget的简单使用
- POJ1014 Dividing 多重背包[DP]
- sql技巧
- Ssh整合
- html js学习网站
- QTableWidget中的clicked和DoubleClicked事件
- 关于函数strtok和strtok_r的使用要点和实现原理(一)
- 框架练习 - 打通 jni | java framework | application 三层
- ppc汇编程序怎么读?
- js高级编程------------使用prototype仿java对象实现表单验证
- 利用 Flare3D 和 Stage3D 创建 3D Flash 游戏
- db2实例
- Android 对话框【Dialog】去除白色边框代码
- smartforms function module 保存在何处