• 3088阅读
  • 3回复

[讨论]又遇到Qt问题了!!! [复制链接]

上一主题 下一主题
离线liuligang88
 

只看楼主 倒序阅读 楼主  发表于: 2015-12-03
Qt中QString的sprintf()函数里参数类型是什么???
我想把QTableWidget里数据保存成.txt文本,但是我按下面这样写,虽然可以输出,但是文本有点乱,因为Smart_Table->item(i,0);里的内容长短不一,
所以我要用  str.sprintf("%s  %-30s %-7s %-6s %-7s %-7s %-30s",
                                                  (Smart_Table->item(i,0)->text()),
                                                  (Smart_Table->item(i,1)->text()),
                                                  (Smart_Table->item(i,2)->text()),
                                                  (Smart_Table->item(i,3)->text()),
                                                  (Smart_Table->item(i,4)->text()),
                                                  (Smart_Table->item(i,5)->text()),
                                                  (Smart_Table->item(i,6)->text())
                                                  );
这种写法,可是这么写会报错,这是为什么???下面是我的代码,我想用屏蔽的那种写法。
谢谢!!!


for (int i = 1; i < 30; i++)
    {
       if (Smart_Table->item(i,0)->text()!= "")
       {
          QString str;
          //str.sprintf("%s  %-30s %-7s %-6s %-7s %-7s %-30s",
          //(Smart_Table->item(i,0)->text()),
          //(Smart_Table->item(i,1)->text()),
          //(Smart_Table->item(i,2)->text()),
          //(Smart_Table->item(i,3)->text()),
          //(Smart_Table->item(i,4)->text()),
          //(Smart_Table->item(i,5)->text()),
          //(Smart_Table->item(i,6)->text())
          //);
          QTableWidgetItem *item00 = Smart_Table->item(i,0);
          QTableWidgetItem *item01 = Smart_Table->item(i,1);
          QTableWidgetItem *item02 = Smart_Table->item(i,2);
          QTableWidgetItem *item03 = Smart_Table->item(i,3);
          QTableWidgetItem *item04 = Smart_Table->item(i,4);
          QTableWidgetItem *item05 = Smart_Table->item(i,5);
          QTableWidgetItem *item06 = Smart_Table->item(i,6);

          out<<item00->text()<< "\t"<<item01->text()<< "\t"
             <<item02->text()<< "\t"<<item03->text()<< "\t"
             <<item04->text()<< "\t"<<item05->text()<< "\t"
             <<item06->text()<< "\t"<<endl;

        // out<<str<<endl;
离线liuligang88

只看该作者 1楼 发表于: 2015-12-04
问题已解决。。。(Smart_Table->item(i,0)->text().toLatin1().data()),写就可以了
离线z609932088

只看该作者 2楼 发表于: 2015-12-07
自己解决
有阳光的地方就是青春
离线liuligang88

只看该作者 3楼 发表于: 2015-12-09
恩,谢谢!!!
快速回复
限100 字节
 
上一个 下一个