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