资源描述:
《基于qt简单聊天程序-具体步骤-详细注释》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于qt编写的c/s模型的简单聊天程序开发Qt工具一.创建工程1,选择新建工程2选择Qt4GuiApplication工程。(带UI界面编辑的工程)3取工程名C_S_Socket。路径随意,不要有任何中文Next4默认即可,Next(这是为此次工程选择要添加的头文件。我们不需要其他的功能。默认)5Baseclass选择QDialog。Classname改MainDlg。Next(我们是基于Qt界面编程的嘛。所以就选QDialogQt窗口类噻)6Finish完成(这里是编辑器告诉我们生成了如下文件)二.画界面1点击maindlg.ui进入主界面
2、窗体设计成如下2设置各个控件的对象名(不能同名,系统用对象名找到控件。命名规范方便自己识别){ 服务器单选框:radioButton_Server客户端单选框:radioButton_ClientIP地址框:lineEdit_Address用户名框:lineEdit_Name离开按钮:wayButton进入按钮:enterButton}3创建一个窗体类,用于发送接收信息的窗体选择窗体样式。修改类名chat,下一步完成~(chat:聊天的意思)4第二窗体设计如下窗体控件对象名如下{显示信息框:showMessageEdit输入信息框:writ
3、eMessageEdit用户名显示列表:onlineMessageList关于按钮:aboutButton发送按钮:sendButton}界面等操作到此结束!!2013年12月8日16:47:31代码贴在后面。注意:代码写完后编译会出错!在C_S_Socket.pro工程文件的最后加上QT+=network编译就不会出错了(不知道什么意思,难道是为Qt加入网络的支持?)代码maindlg.h#ifndefMAINDLG_H#defineMAINDLG_H#includenamespaceUi{classMainDlg;}cl
4、assMainDlg:publicQDialog{Q_OBJECTpublic:MainDlg(QWidget*parent=0);~MainDlg();boolm_bool_server;//判断选择的方式protected:voidchangeEvent(QEvent*e);signals://信号voidshowChatWindow();voidsendEnterMessage(QString,QString);private:Ui::MainDlg*ui;publicslots://槽voidenterSlot();voidOnSel
5、ectServer();voidOnSelectClient();};#endif//MAINDLG_Hmaindlg.cpp#include"maindlg.h"#include"ui_maindlg.h"#includeMainDlg::MainDlg(QWidget*parent):QDialog(parent),ui(newUi::MainDlg){ui->setupUi(this);//离开按钮点击事件的连接connect(ui->awayButton,SIGNAL(clicked()),qApp,SLOT
6、(quit()));//进入按钮点击事件的连接connect(ui->enterButton,SIGNAL(clicked()),this,SLOT(enterSlot()));//选择服务器单选按钮点击事件的连接connect(ui->radioButton_Server,SIGNAL(clicked()),this,SLOT(OnSelectServer()));//选择客户端单选按钮点击事件的连接connect(ui->radioButton_Client,SIGNAL(clicked()),this,SLOT(OnSelectClie
7、nt()));}MainDlg::~MainDlg(){deleteui;}/**选择服务器单选按钮的点击消息*/voidMainDlg::OnSelectServer(){m_bool_server=true;ui->lineEdit_Address->setText("");if(ui->lineEdit_Name->text().isEmpty()
8、
9、ui->lineEdit_Name->text()=="Client")ui->lineEdit_Name->setText("Server");}/**选择客户端单选按钮的点击消息*/v
10、oidMainDlg::OnSelectClient(){m_bool_server=false;ui->lineEdit_Address->setText("12