C++ 与Qt开发人机象棋(第一部分)
生活随笔
收集整理的這篇文章主要介紹了
C++ 与Qt开发人机象棋(第一部分)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
MyWidget.h //Hearders
#include <QWidget>
#include "MyWidget.h"
#include <QPushbutton>namespace{
class MyWidget:
}class MyWidget:public QWidget
{Q_OBJECTpublic:explict MyWidget(QWidget *parent=0);//在QTcreator中,類傾斜表示為虛函數virtual void paintEvent(QPaintEvent*);//Mmouse press event鼠標點擊操作virtual void mousePressEvent(QMouseEvent*);//定義一個按鈕對象QPushButton*_button;//定義一個點擊事件QPoint _ptClick;private:Ui::MyWidget *ui;
};#endif // MYWIDGET_H
以上是在頭文件.h里 先定義好要用到的事件,和對象。
接下來是 MyWidget.cpp
MyWidget.cpp //Sources#include "MyWidget.h" #include <QPainter> //為了能繪制,使用到這個類來繪制 #include <QMouseEvent> //為了能點擊時用到,所以這個類可以分配給ev形參MyWidget::MyWidget(QWidget *parent):QWidget(parent),ui(new Ui::MyWidget) {ui->setup(this);_button=new QPushButton("按一下",this);//注意這里的this,是指這里的MyWidget ,否則button會獨立} MyWidget::~MyWidget() //這個ui現在其實也沒什么用,后期可能會用到,就加進來了。(比如美化界面) { delete ui; } void MyWidget::paintEvent(QPaintEvent*) {setWindowsTitle("perdonar quenopodiáceo qué"); //設置窗體名稱(西班牙語“原諒管子我”)QPaint painter(this);painter.darwEllipse(_ptClick,30,30,);//這是一個繪制-》鼠標點擊的地方-》30*30大小painter.setBruh(QBrush(QColor(0,0,255)));//暫時假設他是一個透明看不見的綠色帽子。 } void MyWidget::mousePressEvent(QMouseEvent *ev) //把ev作為形參可以傳遞數值 {_ptClick=ev->pos(); //得到鼠標點擊的地方update(); //用來強制重新繪制界面 }編譯后,會得到這樣的一個界面,現在可以在界面上 任意點擊,都會有一個 30*30的圓圈啦。
?
重點有:
1.函數的定義和形參的帶入與回傳
2.析構函數與構造函數不可混淆寫錯
總結
以上是生活随笔為你收集整理的C++ 与Qt开发人机象棋(第一部分)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 查新格式化_mysql 日期
- 下一篇: s3c2440移植MQTT