h文件:
class friendlist : public QWidget
{
Q_OBJECT
public:
friendlist();
void setfriendlist();
void getfriendlist(QVector<QString> list);
void getgrouplist(QVector<QString> glist);
void getfriendlistonline(QVector<QString> listonline );
void changestate(QString num1);
void getchangename(QString name);
void Chat(QString num);
QUdpSocket *udpSocket;
QVector<QString> frilist0;
QVector<QString> frilistonline;
QVector<QString> grouplist0;
QString changename;
QString mm;
public slots:
void show();
void connectFri(QListWidgetItem *Item);
private:
QString state;
quint16 port;
QWidget * window;
QWidget * chatWindow;
QTextEdit *displayText;
QTextEdit *inputText;
QPushButton *closeButton;
QPushButton *sendButton;
QPushButton * friendButton;
QPushButton * groupButton;
QPushButton * quitButton2;
QDialogButtonBox * buttonBox2;
QGroupBox * friendbox;
QGroupBox * groupbox;
QListWidget * frilist;
QListWidget * grouplist;
QListWidgetItem * Item;
};
cpp文件:
friendlist::friendlist()
{
}
void friendlist::show()
{
}
void friendlist::setfriendlist()
{
window=new QWidget;
friendButton=new QPushButton(tr("&Friendlist"));//好友按钮
groupButton=new QPushButton(tr("&Grouplist"));//群按钮
quitButton2=new QPushButton(tr("&Quit"));
buttonBox2=new QDialogButtonBox;
buttonBox2->addButton(quitButton2,QDialogButtonBox::RejectRole);
QGroupBox *friendBox=new QGroupBox;
frilist=new QListWidget;
添加列表
QGridLayout *fbox=new QGridLayout;
fbox->addWidget(frilist);
friendBox->setLayout(fbox);
connect(friendButton,SIGNAL(clicked()),friendBox,SLOT(show()));
connect(groupButton,SIGNAL(clicked()),friendBox,SLOT(hide()));
QGroupBox *groupBox=new QGroupBox;
grouplist=new QListWidget;
添加列表
QGridLayout *gbox=new QGridLayout;
gbox->addWidget(grouplist);
groupBox->setLayout(gbox);
groupBox->hide();
connect(friendButton,SIGNAL(clicked()),groupBox,SLOT(hide()));
connect(groupButton,SIGNAL(clicked()),groupBox,SLOT(show()));
connect(frilist,SIGNAL(itemDoubleClicked(QListWidgetItem *,Item)),this,SLOT(connectFri(QListWidgetItem * )));
QGridLayout *friendLayout=new QGridLayout;
friendLayout->addWidget(friendButton);
friendLayout->addWidget(groupButton);
friendLayout->addWidget(friendBox);
friendLayout->addWidget(groupBox);
friendLayout->addWidget(buttonBox2);
window->setLayout(friendLayout);
window->setMaximumSize(200,350);
window->setWindowTitle(tr("QQ2009"));
window->show();
}
void friendlist::connectFri(QListWidgetItem * Item)
{
chatWindow=new QWidget;
displayText = new QTextEdit;
displayText->setReadOnly(true);
inputText = new QTextEdit;
closeButton = new QPushButton(tr("&close"));
sendButton = new QPushButton(tr("&send"));
QVBoxLayout *buttonLayout = new QVBoxLayout;
buttonLayout->addWidget(closeButton);
buttonLayout->addWidget(sendButton);
QGridLayout *chatLayout = new QGridLayout;
chatLayout->addWidget(displayText, 0, 0, 6, 4);
chatLayout->addWidget(inputText, 6, 0, 6, 3);
chatLayout->addLayout(buttonLayout, 6, 3, 1, 1);
chatWindow->setLayout(chatLayout);
chatWindow->setWindowTitle(tr("chat with%1").arg(num));
chatWindow->show();
}