2.10 作业

YCQ::YCQ(QWidget *parent)

: QMainWindow(parent)

, ui(new Ui::YCQ)

{

ui->setupUi(this);

this->setMouseTracking(true);

ui->lab2->setAlignment(Qt::AlignCenter);

timer_2=new QTimer(this);

connect(timer_2,&QTimer::timeout,this,&YCQ::timeout_slot);

count=0;

}

YCQ::~YCQ()

{

delete ui;

}

void YCQ::mousePressEvent(QMouseEvent *event)

{

if(event->button()==Qt::LeftButton)

{

ui->lab1->setText(tr("leftdown")+QString("(%1,%2)").arg(event->x()).arg(event->y()));

}

else if(event->button()==Qt::RightButton)

{

ui->lab1->setText(tr("rightdown")+QString("(%1,%2)").arg(event->x()).arg(event->y()));

}

else if(event->button()==Qt::MiddleButton)

{

ui->lab1->setText(tr("middledown")+QString("(%1,%2)").arg(event->x()).arg(event->y()));

}

}

void YCQ::mouseReleaseEvent(QMouseEvent *event)

{

if(event->button()==Qt::LeftButton)

{

ui->lab1->setText(tr("leftup")+QString("(%1,%2)").arg(event->x()).arg(event->y()));

}

else if(event->button()==Qt::RightButton)

{

ui->lab1->setText(tr("rightup")+QString("(%1,%2)").arg(event->x()).arg(event->y()));

}

else if(event->button()==Qt::MiddleButton)

{

ui->lab1->setText(tr("middleup")+QString("(%1,%2)").arg(event->x()).arg(event->y()));

}

}

void YCQ::mouseMoveEvent(QMouseEvent *event)

{

ui->lab2->move(event->pos());

qDebug()<<event->pos();

}

void YCQ::mouseDoubleClickEvent(QMouseEvent *event)

{

if(event->button()==Qt::LeftButton)

{

ui->lab1->setText(tr("leftdouble")+QString("(%1,%2)").arg(event->x()).arg(event->y()));

}

else if(event->button()==Qt::RightButton)

{

ui->lab1->setText(tr("rightdouble")+QString("(%1,%2)").arg(event->x()).arg(event->y()));

}

else if(event->button()==Qt::MiddleButton)

{

ui->lab1->setText(tr("middledouble")+QString("(%1,%2)").arg(event->x()).arg(event->y()));

}

}

void YCQ::keyPressEvent(QKeyEvent *event)

{

switch (event->key())

{

case 'A':

{

ui->lab2->setText("A");

if(ui->lab2->y() < 0-ui->lab2->height())

{

ui->lab2->move(ui->lab2->x(), this->height()); //移动到整个界面的最低端

}

ui->lab2->move(ui->lab2->x(), ui->lab2->y()-1);

qDebug()<<ui->lab2->y();

break;

}

}

}

void YCQ::keyReleaseEvent(QKeyEvent *event)

{

ui->lab1->setText("键盘被抬起"); //如果键盘被按下长时间不松,则会认为已经抬起

}

void YCQ::on_Btn_clicked()

{

if(ui->Btn->text()=="start")

{

ui->Btn->setText("stop");

timer_1=startTimer(1000);

}

else if(ui->Btn->text()=="stop")

{

ui->Btn->setText("start");

killTimer(timer_1);

}

}

void YCQ::timerEvent(QTimerEvent* event)

{

QTime time=QTime::currentTime();

QString s=time.toString("HH:mm:ss");

ui->lab3->setText(s);

//qDebug()<<time;

QStringList timeList = s.split(':');

hour = timeList[0].toUInt();

minute = timeList[1].toUInt();

second = timeList[2].toUInt();

qDebug()<<hour<<":"<<minute<<":"<<second;

update();

}

void YCQ::on_Btn2_clicked()

{

if(ui->Btn2->text()=="start")

{

ui->Btn2->setText("stop");

timer_2->start(1000);

}

else if(ui->Btn2->text()=="stop")

{

ui->Btn2->setText("start");

timer_2->stop();

}

}

void YCQ::timeout_slot()

{

QDateTime datatime=QDateTime::currentDateTime();

QString d=datatime.toString("yyyy:MM:dd hh:mm:ss");

ui->lab4->setText(d);

}

void YCQ::paintEvent(QPaintEvent* event)

{

QPainter p(this);

p.setPen(Qt::blue);

p.setFont(QFont("黑体",10));

//p.drawLine(10,10,200,200);

QBrush b(QColor("pink"));

p.setBrush(b);

p.translate(300,300);

p.drawEllipse(QPoint(0,0),160,160);

for (int i=0;i<60;i++) {

QPen pen;

if(i%5==0)

{

pen.setWidth(5);

pen.setColor(QColor("green"));

p.setPen(pen);

p.drawLine(QPoint(0,158), QPoint(0, 150));

p.rotate(6);

}

else

{

pen.setWidth(5);

pen.setColor(QColor("green"));

p.setPen(pen);

p.drawLine(QPoint(0,158), QPoint(0, 155));

p.rotate(6);

}

}

QPen pen;

pen.setWidth(4);

pen.setColor(QColor("blue"));

p.setPen(pen);

p.rotate(second*6);

p.drawLine(QPoint(0,0), QPoint(0, -120));

QPainter p1(this);

p1.translate(300,300);

//QPen pen1;

pen.setWidth(5);

pen.setColor(QColor("red"));

p1.setPen(pen);

p1.rotate(second*6/60+minute*6);

p1.drawLine(QPoint(0,0), QPoint(0, -100));

QPainter p2(this);

p2.translate(300,300);

//QPen pen2;

pen.setWidth(7);

pen.setColor(QColor("black"));

p2.setPen(pen);

p2.rotate(second*6/60/12+minute*6/12+(hour%12)*30);

p2.drawLine(QPoint(0,0), QPoint(0, -70));

}

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值