event_filter.cpp

来自「QWT5.01用于Qt开发的二维图形库程序」· C++ 代码 · 共 63 行

CPP
63
字号
//-----------------------------------------------------------------
//      A demo program showing how to use event filtering
//-----------------------------------------------------------------

#include <qapplication.h>
#include <qmainwindow.h>
#include <qwhatsthis.h>
#include <qtoolbar.h>
#include <qtoolbutton.h>
#include "plot.h"
#include "canvaspicker.h"
#include "scalepicker.h"

int main (int argc, char **argv)
{
    QApplication a(argc, argv);

    QMainWindow mainWindow;
    QToolBar *toolBar = new QToolBar(&mainWindow);
#if QT_VERSION >= 0x040000
    QAction *action = QWhatsThis::createAction(toolBar);
    toolBar->addAction(action);
    mainWindow.addToolBar(toolBar);
#else
    (void)QWhatsThis::whatsThisButton(toolBar);
#endif
    
    Plot *plot = new Plot(&mainWindow);

    // The canvas picker handles all mouse and key
    // events on the plot canvas

    (void) new CanvasPicker(plot);

    // The scale picker translates mouse clicks
    // int o clicked() signals

    ScalePicker *scalePicker = new ScalePicker(plot);
    a.connect(scalePicker, SIGNAL(clicked(int, double)),
        plot, SLOT(insertCurve(int, double)));

    mainWindow.setCentralWidget(plot);
#if QT_VERSION < 0x040000
    a.setMainWidget(&mainWindow);
#endif

    mainWindow.resize(540, 400);
    mainWindow.show();

    const char *text =
        "An useless plot to demonstrate how to use event filtering.\n\n"
        "You can click on the color bar, the scales or move the wheel.\n"
        "All points can be moved using the mouse or the keyboard.";
#if QT_VERSION < 0x040000
    QWhatsThis::add(plot, text);
#else
    plot->setWhatsThis(text);
#endif

    int rv = a.exec();
    return rv;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?