# ShowEvent

VTKExamples/Cxx/Qt/ShowEvent

### Code

ShowEvent.cxx

    #include <iostream>

    #include "ShowEvent.h"

    ShowEvent::ShowEvent(QWidget *myParent) : QWidget(myParent)
    {
      this->setupUi(this);

      // Do not do anything related to VTK display here!
    }

    void ShowEvent::showEvent(QShowEvent *)
    {
      // Instead, do the VTK display things here!
    }

ShowEventDriver.cxx

    #include <QApplication>

    #include "ShowEvent.h"

    int main(int argc, char *argv[])
    {
      QApplication app(argc, argv);
      ShowEvent showEvent;

      showEvent.show();
      return app.exec();
    }

ShowEvent.ui

    <?xml version="1.0" encoding="UTF-8"?>
    <ui version="4.0">
     <class>ShowEvent</class>
     <widget class="QWidget" name="ShowEvent">
      <property name="geometry">
       <rect>
        <x>0</x>
        <y>0</y>
        <width>312</width>
        <height>243</height>
       </rect>
      </property>
      <property name="windowTitle">
       <string>ShowEvent</string>
      </property>
      <layout class="QGridLayout" name="gridLayout">
       <item row="0" column="0">
        <widget class="QGraphicsView" name="graphicsView">
         <property name="backgroundBrush">
          <brush brushstyle="NoBrush">
           <color alpha="255">
            <red>0</red>
            <green>0</green>
            <blue>0</blue>
           </color>
          </brush>
         </property>
        </widget>
       </item>
      </layout>
     </widget>
     <resources/>
     <connections/>
    </ui>

ShowEvent.h

    #ifndef ShowEventQt_H
    #define ShowEventQt_H

    #include "ui_ShowEvent.h"

    class ShowEvent : public QWidget, private Ui::ShowEvent
    {
    Q_OBJECT

    public:
      ShowEvent(QWidget *parent = 0);

    protected:
      void showEvent ( QShowEvent * event );
    };

    #endif

### CMakeLists.txt

    cmake_minimum_required(VERSION 2.8)

    PROJECT(ShowEvent)

    find_package(VTK REQUIRED)
    include(${VTK_USE_FILE})

    add_executable(ShowEvent MACOSX_BUNDLE ShowEvent.cxx  ShowEventDriver.cxx)

    target_link_libraries(ShowEvent ${VTK_LIBRARIES})

### Download and Build ShowEvent

Click here to download ShowEvent and its CMakeLists.txt file. Once the tarball ShowEvent.tar has been downloaded and extracted,

    cd ShowEvent/build

If VTK is installed:

    cmake ..

If VTK is not installed but compiled on your system, you will need to specify the path to your VTK build:

    cmake -DVTK_DIR:PATH=/home/me/vtk_build ..

Build the project:

    make

and run it:

    ./ShowEvent

WINDOWS USERS

Be sure to add the VTK bin directory to your path. This will resolve the VTK dll's at run time.