• 5753ÔĶÁ
  • 3»Ø¸´

QStringListModelΪʲôһֱ²»ÈÏ¡£¡£¡£ [¸´ÖÆÁ´½Ó]

ÉÏÒ»Ö÷Ìâ ÏÂÒ»Ö÷Ìâ
ÀëÏßwinmo
 
Ö»¿´Â¥Ö÷ µ¹ÐòÔĶÁ Â¥Ö÷  ·¢±íÓÚ: 2009-10-14
— ±¾Ìû±» XChinux ´Ó General Qt Programming ÒÆ¶¯µ½±¾Çø(2011-01-02) —
ÔÚ¸øÒ»¸öÓÃgsoap ʵÏÖcoopertative µÄXML editorдһ¸öinstant message¡£
GUIÓõÄÊÇqt designer

ÆäʵÊÇÎÒµÚÒ»´Î±à³Ì£¬Ò»²½²½ÔÚÃþË÷¡£
ÏÖÔÚµÄÎÊÌâÊÇ£¬ÎÒÏëÓÃQStringListModelÀ´ÊµÏÖIDµÄÏÖʵ£¬ µ«Êǿͻ§¶ËÒ»Ö±±¨´í£º
error C2061: syntax error : identifier 'QStringListModel'
errror C2065: 'nameModel' : undeclared identifier
error C2065: 'QStringListModel' : undeclared identifier
error C2227: left of '->setStringList' must point to class/struct/union/generic type

ÏÂÃæÊÇÎÒclient¶ËµÄ³ÌÐò£º ºìÉ«²¿·Ö¾ÍÊDZ¨´íµÄµØ·½
ÎÒÔÚclient.hÒ²¼ÓÁË QStringListModel nameModel,µ«ÊÇ»¹ÊÇÒ»Ö±ÊÇundeclared identifier

Ï£Íû´ó¼ÒÄܹ»¸øÎÒµãÒâ¼û£¬ÈÃÎÒ¿ÉÒÔÒ»²½²½½â¾öÕâ¸öÎÊÌâ¡£

void Client::on_getClientIDList(unsigned int NodeID)
{
LOG_TRACE("Client::on_getClientIDList start");

SAFESOAPCALL_START(return;)

QStringList nameList;
nameList.clear();
std::list<std::string> ClientList;

SAFESOAPCALL_OKONLY(getClientIDList(clientID, NodeID,ClientList),return;)
QList<std::string> clients= QList<std::string>::fromStdList(ClientList);
for (QList<std::string>::iterator it = clients.begin();
it!= clients.end(); it++)
{ nameList.append((*it).c_str());
}
QStringListModel *nameModel = new QStringListModel();
nameModel->setStringList(nameList);
ui.listView->setModel(&nameModel);



}

int Client::updateClients(std::list<std::string> ClientList)
{
LOG_TRACE("Client::updateClients start");
unsigned int NodeID;
on_getClientIDList(NodeID);
return SOAP_OK;
}


void Client::sendMessage()
{
LOG_TRACE("Client::sendMessage start");
SAFESOAPCALL_START(return;)

unsigned int NodeID;
std::list<std::string> ClientList;

QDialog* dialog = new QDialog(this);
ui_ChatDialog.setupUi(dialog);
dialog->show();

if (dialog->exec())
{


SAFESOAPCALL_OKONLY(getClientIDList(clientID, NodeID,ClientList),return;)

QString Message= ui_ChatDialog.inputTextEdit->toPlainText();
ns__Message NewMessage;
NewMessage.m_message= Message.toStdString();
NewMessage.m_clientID=clientID;

m_Proxy.sendMessage(ClientList,NewMessage,NULL);

}
emit processMessages();
emit readMessage();
}

void Client::readMessage()
{
LOG_TRACE("Client::readMessage start");

SAFESOAPCALL_START(return;)

std::list<std::string> ClientList;
struct ns__Message message;

SAFESOAPCALL_OKONLY(readMessage(ClientList,message),return;)

QList<std::string>clients=QList<std::string>::fromStdList(ClientList);
for (QList<std::string>::iterator it =clients.begin(); it != clients.end(); it++)
{ if ((*it) != clientID)
return;

else
{

QDialog* dialog = new QDialog(this);
ui_ChatDialog.setupUi(dialog);
dialog ->show();

ui_ChatDialog.showTextEdit->setReadOnly(true);

if (dialog ->exec())
{

SAFESOAPCALL_OKONLY(readMessage(ClientList,message),return;)

ui_ChatDialog.showTextEdit->
setText((*message.m_clientID.c_str())+"says"+(*message.m_message.c_str()));


}

}


ÀëÏßdbzhang800

Ö»¿´¸Ã×÷Õß 1Â¥ ·¢±íÓÚ: 2009-10-14
Í·Îļþ°üº¬Ã»£¿
ÀëÏßfoxyz

Ö»¿´¸Ã×÷Õß 2Â¥ ·¢±íÓÚ: 2009-10-14
ÕâÃ÷ÏÔÊÇÄãû°üº¬Í·Îļþ°¢!

#include <QStringListModel>
ÀëÏßwinmo
Ö»¿´¸Ã×÷Õß 3Â¥ ·¢±íÓÚ: 2009-10-15
¹ûÈ»ÊÇÒòΪû°üº¬Í·Îļþ

лл´ó¼Ò~

ÎÊÒ»Éù¹ûÈ»±È×Ô¼º×êÅ£½Ç¼âÓÐЧÂʶàÁË
¿ìËٻظ´
ÏÞ100 ×Ö½Ú
 
ÉÏÒ»¸ö ÏÂÒ»¸ö