📄 clientview.h
字号:
#include <qwidget.h>
#include <qpushbutton.h>
#include <qpixmap.h>
#include <qbitmap.h>
#include <qpopupmenu.h>
#include <qtextview.h>
#include <qlineedit.h>
#include <qpainter.h>
#include <qscrollview.h>
#include <qinputdialog.h>
#include <qmenubar.h>
#include <qtextstream.h>
#include <qstring.h>
#include <qsocket.h>
#include <qmessagebox.h>
//#include "clientwindow.h"
#include "renjudoc.h"
#include "renjuserver.h"
//#include "renjusocket.h"
class ClientView : public QWidget
{
Q_OBJECT
public:
ClientView( const QString &host, Q_UINT16 port );
//~ClientView();
private:
QPushButton *pbinput;
QPixmap *board;
QPixmap *pixwhite;
QPixmap *pixblack;
QBitmap *mask;
QPopupMenu *game;
//QPopupMenu *setting;
QTextView *tv;
QLineEdit *le;
RenjuDoc *doc;
// RenjuServer *server;
// RenjuSocket *client;
QPainter *paint;
QScrollView * sv;
QMenuBar *bar;
QSocket *socket;
QMessageBox *message;
//clientwindow *clientdialog;
//QString s;
int x;
int y;
int mousepress;
int indexforregret;
void paintEvent ( QPaintEvent * );
//处理鼠标点击,调用doc对象判断是否可以下子,
//如果可以:把数据写入doc对象,并画图,调用socket对象将消息发送出去
void mousePressEvent ( QMouseEvent * e );
void drawPoint(int x, int y, int color);
public :
ClientView::ClientView();
void closeEvent(QCloseEvent *e) ;
public slots:
// void startServer();
// void startClient();
//void newconnect();
//发送请求开新局
void newRenjuClick();
//处理对方发送开新局的请求
//void reqNewRenju(int mycolor);
//处理对方回复的开新局请求
//void reNewRenju(bool b, int mycolor);
//发送悔棋请求
void huiqiClick();
//处理对方发送的悔棋请求
void reqHuiqi(int x,int y);
//处理对方发送的悔棋请求的回复
//void reHuiqi(bool b);
//处理对方的走棋,直接调用doc对象添加数据,然后update
void zhouqi(int x, int y);//,int color);
//发送信息给对方
void sendMsg();
//处理对方发送过来的消息
void recvMsg();
//连接建立的信号处理
void connected();
void serverdone();
void connectionClosed();
//
signals:
void mousedown(int x, int y);
//void sendMsg(QString &msg);
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -