64,654
社区成员
发帖
与我相关
我的任务
分享
//其实真正不懂的是这三个函数的参数怎么用
void InitParameter(std::map<std::string, std::string>& mapPara); //初始化参数
void UpdateParameter(std::map<std::string, std::string>& mapPara); //更新参数
void GetLstParameter(std::map<std::string, std::string>& mapPara); //获取参数
private slots:
void SaveParameter(); //保存参数
STControlPageUI::STControlPageUI(QWidget *parent, IStrategyComponent* pStComponent)
: QWidget(parent)
ParameterSetDilog::ParameterSetDilog(QWidget *parent)
std::map<std::string, std::string>::iterator it;
int row=0;
for(it=mapPara.begin();it!=mapPara.end();it++)
{
QString str1=QString::fromStdString(it->first);
QString str2=QString::fromStdString(it->second);
_tableWidget->setItem(row,0,new QTableWidgetItem(str1));
_tableWidget->setItem(row,1,new QTableWidgetItem(str2));
row++;
}
终于可以了!谢谢大神的帮助!#pragma warning(disable:4786)
#include <iostream>
#include <string>
#include <map>
using namespace std;
int main () {
wstring ws1,ws2;
wcin.imbue(locale("chs"));
wcout.imbue(locale("chs"));
getline(wcin,ws1);
getline(wcin,ws2);
if (ws1.size()!=ws2.size()) {
wcout<<ws1<<L" 和 "<<ws2<<L" 不对应"<<endl;
return 1;
}
map<wchar_t,wchar_t> m1,m2;
int n=ws1.size();
for (int i=0;i<n;i++) {
if (m1.find(ws1[i])==m1.end() && m2.find(ws2[i])==m2.end()) {
m1[ws1[i]]=ws2[i];
m2[ws2[i]]=ws1[i];
} else {
if (m1[ws1[i]]!=ws2[i] || m2[ws2[i]]!=ws1[i]) {
wcout<<ws1<<L" 和 "<<ws2<<L" 不对应"<<endl;
return 1;
}
}
}
wcout<<ws1<<L" 和 "<<ws2<<L" 对应"<<endl;
return 0;
}
std::map<std::string, std::string> mapPara;
for(int i = 0; i < ui->tableWidget_para_set->rowCount(); i++)
{
string name = ui->tableWidget_para_set->item(i, 0)->text().toStdString();
string value = ui->tableWidget_para_set->item(i, 1)->text().toStdString();
mapPara[name] = value;
}
std::map<std::string, std::string>::iterator it;
int row_number = 0;
for(it=mapPara.begin();it!=mapPara.end();it++)
{
_tableWidget->item(row_number, 0)->setText(it->fist);
_tableWidget->item(row_number, 1)->setText(it->second);
row_number++;
}
void STControlPageUI::SetParameter(std::map<std::string, std::string> &mapPara)
{
std::map<std::string, std::string>::iterator it;
for(it=mapPara.begin();it!=mapPara.end();it++)
{
_tableWidget->setItem(。。。);//这样添加不行
}
}
还是要麻烦大神!
怎么读到tablewidget里面?
void ParameterSetDilog::SaveParameter()
{
std::map<std::string, std::string> mapPara;
UpdateParameter(mapPara);
this->close();
}
这样也可以吧!private slots:
void SaveParameter();
怎么将mapPara传到另一个tabwidget?