Qt/Widgets/ProgressBar

From ProgrammingExamples
< Qt
Revision as of 20:26, 6 November 2010 by Daviddoria (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

ProgressBar.cpp

#include <qapplication.h>
#include "form.h"
 
int main( int argc, char **argv )
{
     QApplication app(argc, argv);
     MainWindow window;
 
     window.show();
     return app.exec();
}

form.cpp

#include <QtGui>
#include <qtimer.h>
 
#include "form.h"
#include <iostream>
 
MainWindow::MainWindow()
{
  ui.setupUi(this);
  this->ui.progressBar->setValue(0);
  QTimer *timer = new QTimer(this);
  connect(timer, SIGNAL(timeout()), this, SLOT(TimerEvent()));
  timer->start(1000);
 
}
 
void MainWindow::TimerEvent()
{
 
  std::cout << "Timer event." << std::endl;
  int value = this->ui.progressBar->value();
  this->ui.progressBar->setValue(value+1);
}

form.h

#ifndef BUTTONFORM_H
#define BUTTONFORM_H
 
#include "ui_main.h"
 
//class MainWindow : public QWidget
class MainWindow : public QMainWindow
{
    Q_OBJECT
 
public:
    MainWindow();
 
  public slots:
    void TimerEvent();
 
private:
    Ui::MainWindow ui;
};
 
#endif

main.ui

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>800</width>
    <height>600</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>MainWindow</string>
  </property>
  <widget class="QWidget" name="centralwidget">
   <widget class="QProgressBar" name="progressBar">
    <property name="geometry">
     <rect>
      <x>190</x>
      <y>220</y>
      <width>118</width>
      <height>23</height>
     </rect>
    </property>
    <property name="value">
     <number>24</number>
    </property>
   </widget>
   <widget class="QPushButton" name="btnStart">
    <property name="geometry">
     <rect>
      <x>170</x>
      <y>340</y>
      <width>91</width>
      <height>28</height>
     </rect>
    </property>
    <property name="text">
     <string>Start</string>
    </property>
   </widget>
   <widget class="QPushButton" name="btnStop">
    <property name="geometry">
     <rect>
      <x>360</x>
      <y>340</y>
      <width>91</width>
      <height>28</height>
     </rect>
    </property>
    <property name="text">
     <string>Stop</string>
    </property>
   </widget>
  </widget>
  <widget class="QMenuBar" name="menubar">
   <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>800</width>
     <height>25</height>
    </rect>
   </property>
  </widget>
  <widget class="QStatusBar" name="statusbar"/>
 </widget>
 <resources/>
 <connections/>
</ui>

CMakeLists.txt

cmake_minimum_required(VERSION 2.6)
 
PROJECT(ProgressBar)
 
FIND_PACKAGE(Qt4 REQUIRED)
INCLUDE(${QT_USE_FILE})
 
QT4_WRAP_UI(UISrcs main.ui)
QT4_WRAP_CPP(MOCSrcs form.h)
 
include_directories(${include_directories} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
 
ADD_EXECUTABLE(ProgressBar ProgressBar.cpp form.h form.cpp ${UISrcs} ${MOCSrcs})
TARGET_LINK_LIBRARIES(ProgressBar ${QT_LIBRARIES})