www.pudn.com > Five_QT_by_CT.rar > Main.h
#ifndef MAIN_HEADER #define MAIN_HEADER #include "pub.h" #include "defs.h" #include "gamelogic.h" #include#include #include #include #include #include #include #include #include #include #include #include #include class Main; //棋盘类,显示棋盘和棋子 class ChessBoard: public QWidget { Q_OBJECT public: ChessBoard(QWidget *,char *); private: QPixmap *mChessboardPixmap; QPixmap *mWhiteChessPixmap; QPixmap *mBlackChessPixmap; QPushButton *mStartButton; QLabel *mGameStatusLabel; QLabel *mMySideLabel; QLabel *mWhiteLabel; QLabel *mBlackLabel; QLabel *mGameInfoLabel; GameLogic mGameLogic; QPoint mPosition; QSize mSize; QSize mChessSize; QPoint mChessPoint; DeskTableNode mMyDesk; QString mMyside; //记录自己的方向 QString mMyID; int mLeftMargin, mRightMargin, mTopMargin, mBottomMargin; int mTurn; private: void setTurn(int i){mTurn=i;}; int getTurn(){return mTurn;} QPoint convertMouseToGrid(const QPoint p); QPoint convertGridToMouse(const QPoint g); void clearBoard(); void PutChessToFace( QPoint p); void HandleAgree(); void HandlePutchess( Message ); void HandleChangeseat( Message ); void HandleUpdatedesk( Message ); void HandleInvite(); protected: void paintEvent(QPaintEvent*); void mousePressEvent(QMouseEvent *); public: void setPos(QPoint p); void setSize(QSize s); void setMyside(QString ); void init(); signals: void sendmsgtomain(Message msg); public slots: void sdisposemsg(Message msg); void sstartclicked(); }; //聊天部分,部件 class ChatBox: public QWidget { Q_OBJECT public: ChatBox(QWidget *parent,char *name); void setPos(QPoint p) { mPosition=p; } void setSize(QSize s) { mSize=s; } void init(); private: QLineEdit *mChatLineEdit; QListBox *mChatListBox; QPoint mPosition; QSize mSize; void ShowMessage( QString); signals: void sendmsgtomain(Message msg); public slots: void sshowchat(Message msg); void schatlinereturned(); }; class Main: public QWidget { Q_OBJECT public: Main(QWidget *parent,char *name); QPoint getChatBoxPos() { return mChatBoxPos; } QPoint getChessBoardPos() { return mChessBoardPos; } QSize getChatBoxSize() { return mChatBoxSize; } QSize getChessBoardSize() { return mChessBoardSize; } Main *getThis() {return this;} private : QPoint mPoint;//主窗口的位置 QSize mSize;//主窗口的大小; //窗口部件的位置,大小 QPoint mChatBoxPos,mChessBoardPos; QSize mChatBoxSize,mChessBoardSize; ChatBox *mChatBox; ChessBoard *mChessBoard; public slots: void sdisposemsg(Message msg); signals: void sendmsgtoboard(Message ); void sendmsgtohall(Message ); void sendmsgtochat(Message ); }; #endif