码迷,mamicode.com
首页 > 其他好文 > 详细

qt界面编写流程记录

时间:2015-06-27 09:55:35      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:

qt的关键在于信号与槽机制。

1. 利用qtcreator 创建   qt widgeets application 工程

     main.cpp   mainwindow.cpp  mainwindow.h  文件    .ui 界面设计文件

#include "mainwindow.h"
#include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    return a.exec();
}
 
QApplication  MainWindow   a.exec() 

2.    打开 mainwindows.ui 界面文件设计界面:  添加一个label 显示图片

3.   编译一次,则会在build文件夹下生成 ui_ mainawindows.cpp文件。界面相关的ui 类

         QLabel *labelImage;

4   mainwindow.h 文件的书写

    1)  相应的成员与成员函数

    QImage qimg;
    QPixmap pm;
    cv::Mat img_test;
    int id1,id2,id3;  

    CameraEstimation* pCam_qr_estimation ;
    void init(char* addr,int camId);
    QImage Mat2QImage(cv::Mat const& src) ;
    cv::Mat QImage2Mat(QImage const& src) ;

protected:
    void timerEvent(QTimerEvent *event);

    2) 信号

signals:
    void imageReady();
   3) 槽函数

    void imgShow();
4   mainwindow.cpp 文件的书写

    1) 关联信号与槽函数   QObject::connect

   ui->setupUi(this);  //ui启动

 // 开启一个1秒定时器,返回其ID
    id1 = startTimer(50);
    QObject::connect(this,&MainWindow::imageReady,this,&MainWindow::imgShow);
 

   2)  信号释放   

        emit imageReady();
 定时事件触发释放信号
void MainWindow::timerEvent(QTimerEvent *event)
{
    // 判断是哪个定时器
    if(event->timerId() == id1)
    {
        qDebug() << "timer1";
        pCam_qr_estimation->run();  //opencv一些列的操作
         pCam_qr_estimation->pQrDetect_->t_[0];

        qimg = Mat2QImage(pCam_qr_estimation->frame);
        img_test = QImage2Mat(qimg);
        emit imageReady();
    }
    else
    {
        qDebug() << "timer erro";
    }
}
      3) 槽函数的实现:在 labelImage  中显示图片。

void MainWindow::imgShow()
{
    //qimg.load("/home/yhzhao/Desktop/12.png");
    ui->labelImage->setPixmap(QPixmap::fromImage(qimg));
    qDebug()<<"Tigger";

}

5) 工程有缩略,运行结果如下图。

   技术分享

版权声明:本文为博主原创文章,未经博主允许不得转载。

qt界面编写流程记录

标签:

原文地址:http://blog.csdn.net/zyh821351004/article/details/46654143

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!