tableWidget_itemClicked(QTableWidgetItem item)
这里的item就是单击的项
还有获取当前项: ui->tableWidget->currentItem();
1、HeatUser类
class HeatUser{
public:
HeatUser(){
}
HeatUser(QString name, float flow, float distance, short time){
strcpy(Name, nametoLocal8Bit()data());
Flow = flow;
Distance = distance;
Time = time;
}
~HeatUser(){
}
QString getName(){
return Name;
}
QString getFlow(){
return QString("%1")arg(Flow);
}
QString getDistance(){
return QString("%1")arg(Distance);
}
QString getTime(){
return QString("%1")arg(Time);
}
private:
char Name[30];
float Flow;
float Distance;
short Time;
};
2、对象初始化
QFile file("aatxt");if(fileopen(QIODevice::ReadOnly))
{
QTextStream stream(&file);
while(!streamatEnd())
{
QStringList list = streamreadLine()split(QRegExp("\\s+"));
HeatUser hUser(listat(0), static_cast<QString>(listat(1))toFloat(),
static_cast<QString>(listat(2))toFloat(),
static_cast<QString>(listat(3))toShort());
vecpush_back(hUser);
}
}
3、文件内容
aa 1260 226 99bb 1650 236 100
4、写入Qtablewidget
ui->tableWidget->setRowCount(2); //设置行数为2ui->tableWidget->setColumnCount(4); //设置列数为4
QStringList header;
header << "Name" << "Flow" << "Distance" << "Time";
ui->tableWidget->setHorizontalHeaderLabels(header);
for(int i = 0; i < veccount(); i++)
{
ui->tableWidget->setItem(i,0,new QTableWidgetItem(vec[i]getName()));
ui->tableWidget->setItem(i,1,new QTableWidgetItem(vec[i]getFlow()));
ui->tableWidget->setItem(i,2,new QTableWidgetItem(vec[i]getDistance()));
ui->tableWidget->setItem(i,3,new QTableWidgetItem(vec[i]getTime()));
}
给你说下大概的流程吧 textedit按行读取 然后建立一个qstring的容器 读取各行数据 按钮点击后进行排序 然后把数据输出到textbrowser 其实没必要这样用 直接建立一个qtablewidget 输入内容后点击headeritem 应该直接就可以排序的
QTableWidget中QComboBox的值的取法和单独QComBox是一样的。
可以参照以下的代码段:
QTableWidget table = new QTableWidget(3,3,this);
QLineEdit edit = new QLineEdit(this);
QComboBox box = new QComboBox(this); //先建一个控件,之后取值就直接使用它就可以了
box->addItem("yes");
box->addItem("no");
// box->setCurrentIndex(1); //此处解开注释的话下面会输出 no
table->setCellWidget(1,1,edit);
table->setCellWidget(2,2,box);
if(0 == box->currentIndex())qWarning()<<"yes";
if(1 == box->currentIndex())qWarning()<<"no";
QWidget widget=ui->tableWidget->cellWidget(i,0);//获得widget
QComboBox combox=(QComboBox)widget;//强制转化为QComboBox
QString string=combox->currentText();
qDebug()<<string;
双击修改后QTableWidget会发送一个信号:void itemChanged ( QTableWidgetItem item )
你可以在代码中为这个信号写一个槽函数:void slotItemChanged( QTableWidgetItem item );
然后连接:比如有个QTableWidget的指针tabWidget,connect(tabWidget, SIGNAL(itemChanged(QTableWidgetItem )), this/槽函数是某个类的成员函数/, SLOT(slotItemChanged(QTableWidgetItem)));
然后再槽函数中通过item的获取数据函数获取修改后的内容
以上就是关于QT 怎么让qtablewidget选中某个单元格的item然后得到是点的哪个Item全部的内容,包括:QT 怎么让qtablewidget选中某个单元格的item然后得到是点的哪个Item、QT 读取文件写入Qtablewidget中、Qt中如何在第一个文本框获取内容,然后在第二个文本框输出等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)