QT实现点击按钮出现信号
来源:互联网 发布:拒绝退款后淘宝介入 编辑:程序博客网 时间:2024/06/05 09:38
创建QtGuitest13项目文件
添加一个基于QFrame的类,命名为CircleWidget
在CircleWidget.h中
#ifndef CIRCLEWIDGET_H#define CIRCLEWIDGET_H#include <QFrame>class CircleWidget : public QFrame{Q_OBJECTpublic:CircleWidget(QWidget *parent);~CircleWidget();void my_flag();void Xray_Flag();private:void paintEvent ( QPaintEvent * event );bool m_Flag;bool xray_flag;};#endif // CIRCLEWIDGET_H
在CircleWidget.cpp
#include "CircleWidget.h"
#include <QPainter>CircleWidget::CircleWidget(QWidget *parent): QFrame(parent),m_Flag(false),xray_flag(false){}CircleWidget::~CircleWidget(){}void CircleWidget::my_flag(){m_Flag = true;update();}void CircleWidget::Xray_Flag(){xray_flag = true;update();}void CircleWidget::paintEvent ( QPaintEvent * event ){ if (m_Flag == true){QPainter painter(this);int width = this->width();int height = this->height();painter.setPen(QColor(0x00, 0xFF, 0x00));painter.setBrush(QBrush(QColor(0x00, 0xFF, 0x00)));painter.drawEllipse(height, 0, height, height);}if(m_Flag==false){QPainter painter(this);int width = this->width();int height = this->height();painter.setPen(QColor(0xFF, 0x00, 0x00));painter.setBrush(QBrush(QColor(0xFF, 0x00, 0x00)));painter.drawEllipse(0, 0, height, height);}/*if (xray_flag == true){QPainter painter(this);int width = this->width();int height = this->height();painter.setPen(QColor(0x00, 0xFF, 0x00));painter.setBrush(QBrush(QColor(0x00, 0xFF, 0x00)));painter.drawEllipse(height, 0, height, height);}if (xray_flag == false){QPainter painter(this);int width = this->width();int height = this->height();painter.setPen(QColor(0xFF, 0x00, 0x00));painter.setBrush(QBrush(QColor(0xFF, 0x00, 0x00)));painter.drawEllipse(0, 0, height, height);}*/}
在QtGuitest13.h中
#pragma once#include <QtWidgets/QMainWindow>#include "ui_QtGuitest13.h"class QtGuitest13 : public QMainWindow{Q_OBJECTpublic:QtGuitest13(QWidget *parent = Q_NULLPTR);private slots:int OnDraw1();int OnXray();private:Ui::QtGuitest13Class ui;};
对应的cpp中
#include "QtGuitest13.h"QtGuitest13::QtGuitest13(QWidget *parent): QMainWindow(parent){ui.setupUi(this);connect(ui.btnDraw,SIGNAL(clicked()),this,SLOT(OnDraw1()));connect(ui.btnXray, SIGNAL(clicked()), this, SLOT(OnXray()));}int QtGuitest13::OnDraw1(){ui.frame->my_flag();return 0;}int QtGuitest13::OnXray(){ui.frame_2->Xray_Flag();return 0;}
main.cpp中
#include "QtGuitest13.h"#include <QtWidgets/QApplication>#include "CircleWidget.h"#include "CircleWidget0.h"int main(int argc, char *argv[]){QApplication a(argc, argv);//QtGuitest13 w;CircleWidget0 w(NULL);w.show();return a.exec();}
.ui 中
拖入Frame框架然后promote刚刚自己写的类注意大小写
主要是QtGuitest13.cpp中的最后的那句ui.frame->(***)将Button信号和画图信号进行关联实现点击Button后才有动作
阅读全文
0 0
- QT实现点击按钮出现信号
- QT点击按钮实现按钮名的改变
- 点击按钮出现新窗口
- QT用信号和处理机制为事件添加处理动作(点击按钮显示helloworld)
- 关于Qt 信号与槽自动连接 qPushbutton按钮无法点击的问题
- QT+VS点击按钮弹出新窗口的实现
- JS实现点击按钮图片左右切换、点击图片按钮出现下拉菜单
- 点击相应的按钮出现相应的页面的实现
- 代码实现 按钮点击出现不同的图片或者颜色
- 实现在html上点击一个按钮出现一张照片
- 实现在html上点击一个按钮出现一张照片
- Qt点击按钮打开图片
- 点击按钮出现文件选择
- 点击按钮,出现下拉列表
- C++.QT编程学习笔记——点击一个按钮后出现选择文件对话框
- 使用QT点击运行按钮无任何反应,出现错误Could not create directory
- 实现按钮点击变色
- 用QT信号和槽实现主界面有两个按钮,一个按钮打开新界面,另一个关闭新界面
- luogu2196 【1996提高】挖地雷(记忆化搜索/dp)
- 【C++VS笔记】新装的VS2012 VS2013没有代码的智能提示功能的解决办法
- scala IDE for Eclipse开发Spark程序
- This is a new beginning
- android:ellipsize
- QT实现点击按钮出现信号
- TrickGCD————(hdu6053)2017多校(莫比乌斯容斥)
- Coursera机器学习笔记(week1)
- 查询数据库中字段不为空的数据
- 运行Spark提供的计算圆周率的示例程序
- Android主页动态添加Fragment
- LightOJ1214 Large Division
- HDU 5724 Chess (状压+sg)
- JQuery基本选择器