- #include<QtGui> 
- #include<QPushButton> 
- #include"newform.h" 
- #include<iostream> 
- #include<QString> 
- #include<QTableWidget> 
- #include<QWidget> 
- #include<QAction> 
- #include<QMenu> 
- #include<Qt> 
-   
- using namespace std; 
-   
-   
- { 
-   
- 	setupUi(this); 
-     //connect(this,SIGNAL(rightClick()),this,SLOT(itemClicked())); 
-   
-     //connect(this,SIGNAL(rc(QMouseEvent *)),tableWidget,SLOT(mousePressEvent(QMouseEvent *))); 
-     //connect(this,SIGNAL(cellClicked(int,int)),this,SLOT(mousePressEvent(QMouseEvent *))); 
-    cout<<"\nconstructor called\n"; 
-    // if(count==1) 
-     //{ 
-    // Form::createActions(); 
-    // Form::setupContextMenu(); 
-     //} 
-     //setCentralWidget(table); 
-     //mousePressEvent(e); 
- } 
-  /*Form::Form(int n) 
- { 
-   setupUi(this); 
-   count=n; 
-  // connect(tableWidget,SIGNAL(cellClicked(int,int)),this,SLOT(mouseClick())); 
-   if(count==1) 
-     { 
-     Form::createActions(); 
-     Form::setupContextMenu(); 
-     } 
- }*/ 
-  void Form::mouseClick() 
- { 
-    // count=1; 
-      // Form fm; 
-     Form::createActions(); 
-     Form::setupContextMenu(); 
- } 
-   
- void Form::display() 
- {   
-   
-        int no_of_row; 
-        int no_of_column;      
-        cout<<"\n"<<"test56767"<<endl; 
-        no_of_column = tableWidget->columnCount (); 
-        no_of_row = tableWidget->rowCount () ; 
-        cout<<"\n  ROW  "<<no_of_row<<endl; 
-        cout<<"\n Column "<<no_of_column<<endl; 
-   
-        //tableWidget->clear (); 
-        //tableWidget->removeColumn(no_of_column); 
-        for(int k=no_of_row;k>=0;k--) 
-        { 
-           cout<<"\t " <<k;  
-           tableWidget->removeRow (k); 
-   
-        } 
-        cout<<"\n"; 
-        for(int j=0;j<100;j++) 
-        { 
-           tableWidget->insertRow(j); 
-           for(int i=0;i<20;i++) 
-           { 
-              if(i==0) 
-              {   
-                newItem->setText("0"); 
-                tableWidget->setItem(j,i,newItem); 
-              } 
-              if(i==1) 
-              { 
-                newItem->setText("1"); 
-                tableWidget->setItem(j,i,newItem); 
-              } 
-              if(i==2) 
-              { 
-                newItem->setText("2"); 
-                tableWidget->setItem(j,i,newItem); 
-              } 
-              if(i==3) 
-              {    
-                 newItem->setText("3");  
-                 tableWidget->setItem(j,i,newItem); 
-              } 
-              if(i==4) 
-              { 
-                 newItem->setText("4"); 
-                 tableWidget->setItem(j,i,newItem); 
-              }  
-              if(i==5) 
-              { 
-                 newItem->setText("5"); 
-                 tableWidget->setItem(j,i,newItem); 
-              } 
-              if(i==6) 
-              { 
-                 newItem->setText("6"); 
-                 tableWidget->setItem(j,i,newItem); 
-              } 
-              if(i==7) 
-              { 
-                 newItem->setText("7"); 
-                 tableWidget->setItem(j,i,newItem); 
-              } 
-              if(i==8) 
-              { 
-                 newItem->setText("8"); 
-                 tableWidget->setItem(j,i,newItem); 
-              } 
-              if(i==9) 
-              { 
-                 newItem->setText("9"); 
-                 tableWidget->setItem(j,i,newItem); 
-              } 
-              if(i==10) 
-              { 
-                 newItem->setText("10"); 
-                 tableWidget->setItem(j,i,newItem); 
-              } 
-              if(i==11) 
-              { 
-                 newItem->setText("11"); 
-                 tableWidget->setItem(j,i,newItem); 
-              } 
-              if(i==12) 
-              { 
-                 newItem->setText("12"); 
-                 tableWidget->setItem(j,i,newItem); 
-              } 
-              if(i==13) 
-              { 
-                 newItem->setText("13"); 
-                 tableWidget->setItem(j,i,newItem); 
-              } 
-              if(i==14) 
-              { 
-                 newItem->setText("14"); 
-                 tableWidget->setItem(j,i,newItem); 
-              } 
-              if(i==15) 
-              { 
-                 newItem->setText("15"); 
-                 tableWidget->setItem(j,i,newItem); 
-              } 
-              if(i==16) 
-              { 
-                 newItem->setText("16"); 
-                 tableWidget->setItem(j,i,newItem); 
-              } 
-              if(i==17) 
-              { 
-                 newItem->setText("17"); 
-                 tableWidget->setItem(j,i,newItem); 
-              } 
-              if(i==18) 
-              { 
-                 newItem->setText("18"); 
-                 tableWidget->setItem(j,i,newItem); 
-              } 
-              if(i==19) 
-              { 
-                 newItem->setText("19"); 
-                 tableWidget->setItem(j,i,newItem); 
-              } 
-         } 
-   
-    } 
-    //emit rightClick(tableWidget->grabMouse());   
- }  
- void Form::mclick() 
- { 
-        Q_CHECK_PTR (contextMenu); 
-        Q_CHECK_PTR (subMenu); 
-   
-        subMenu=contextMenu->addMenu ( "Math Opr."); 
-   
-        subMenu->addAction(cell_addAction); 
-        subMenu->addAction(cell_subAction); 
-        subMenu->addAction(cell_mulAction); 
-        subMenu->addAction(cell_divAction); 
-        subMenu->addAction(cell_sumAction);  
-        contextMenu->addAction(firstSeparator); 
-        contextMenu->addAction(colorAction); 
-        contextMenu->addAction(fontAction); 
-        contextMenu->addAction(secondSeparator); 
-        contextMenu->addAction(clearAction); 
-   
-        pb3->setMenu(contextMenu);  
-   
-        //contextMenu->popup(QCursor::pos()); 
-        //contextMenu->exec (); 
-   
-       //setContextMenuPolicy(Qt::ActionsContextMenu); 
-   
- } 
-   
- void Form::del() 
- { 
-    {   delete cell_addAction; 
-        delete cell_subAction; 
-        delete cell_mulAction; 
-        delete cell_divAction; 
-        delete cell_sumAction; 
-        delete firstSeparator; 
-        delete colorAction; 
-        delete fontAction; 
-        delete secondSeparator; 
-        delete clearAction; 
-    } 
-   
- } 
-   
- {  
-    if(count==1) 
-   { 
-      del(); 
-      count=0; 
-   } 
-     // cout<<"\n"<<"testmousepressevent455"<<endl; 
-      if(event->button() == Qt::LeftButton) 
-      { 
-         //QString test = QString(event->x()) + ", " + QString(event->y()); 
-         QMessageBox::warning( this- , tr ("Position")- , tr ( "Left Button Pressed" ) )- ; 
 
-      } 
-   
-      else if(event->button() == Qt::RightButton) 
-      { 
-         //emit rightClick(); 
-         //setupContextMenu(); 
-        // Form frm; 
-         QMessageBox::warning( this- , tr ("Position")- , tr ( "Right Button Pressed" ) )- ; 
 
-      } 
-   
- } 
-   
-   
-   
-   
- void Form::createActions() 
- { 
-     count =1; 
-     cell_sumAction  = new QAction(- tr ("Sum")- ,  this)- ; 
-     connect(cell_sumAction, SIGNAL(triggered()), this, SLOT(actionSum())); 
-   
-     cell_addAction  = new QAction(- tr ("&Add")- ,  this)- ; 
-     cell_addAction->setShortcut(Qt::CTRL | Qt::Key_Plus); 
-     connect(cell_addAction, SIGNAL(triggered()), this, SLOT(actionAdd())); 
-   
-     cell_subAction  = new QAction(- tr ("&Subtract")- ,  this)- ; 
-     cell_subAction->setShortcut(Qt::CTRL | Qt::Key_Minus); 
-     connect(cell_subAction, SIGNAL(triggered()), this, SLOT(actionSubtract())); 
-   
-     cell_mulAction  = new QAction(- tr ("&Multiply")- ,  this)- ; 
-     cell_mulAction->setShortcut(Qt::CTRL | Qt::Key_multiply); 
-     connect(cell_mulAction, SIGNAL(triggered()), this, SLOT(actionMultiply())); 
-   
-     cell_divAction  = new QAction(- tr ("&Divide")- ,  this)- ; 
-     cell_divAction->setShortcut(Qt::CTRL | Qt::Key_division); 
-     connect(cell_divAction, SIGNAL(triggered()), this, SLOT(actionDivide())); 
-   
-     fontAction  = new QAction(- tr ("Font...")- ,  this)- ; 
-     fontAction->setShortcut(Qt::CTRL|Qt::Key_F); 
-     connect(fontAction, SIGNAL(triggered()), this, SLOT(selectFont())); 
-   
-     colorAction  = new QAction(QPixmap(16- ,  16)- , tr ("Background &Color...")- ,  this)- ; 
-     connect(colorAction, SIGNAL(triggered()), this, SLOT(selectColor())); 
-   
-     clearAction  = new QAction(- tr ("Clear")- ,  this)- ; 
-     clearAction->setShortcut(Qt::Key_Delete); 
-     connect(clearAction, SIGNAL(triggered()), this, SLOT(clear())); 
-   
-   
-     exitAction  = new QAction(- tr ("E&xit")- ,  this)- ; 
-     connect(exitAction, SIGNAL(triggered()), qApp, SLOT(quit())); 
-   
-     firstSeparator  = new QAction(this)- ; 
-     firstSeparator->setSeparator(true); 
-   
-     secondSeparator  = new QAction(this)- ; 
-     secondSeparator->setSeparator(true); 
-   
-   
- } 
-   
- void Form::actionSum() 
- { 
-   
-     int row_first = 0; 
-     int row_last = 0; 
-     int row_cur = 0; 
-   
-     int col_first = 0; 
-     int col_last = 0; 
-     int col_cur = 0; 
-   
-   
- } 
-   
-   
-   
- { 
-   
-     //QTableWidgetItem *current = tableWidget->currentItem(); 
-   
- } 
-   
-   
- void Form::actionAdd() 
- { 
-     actionMath_helper(tr("Addition"), "+"); 
- } 
-   
- void Form::actionSubtract() 
- { 
-     actionMath_helper(tr("Subtraction"), "-"); 
- } 
-   
- void Form::actionMultiply() 
- { 
-     actionMath_helper(tr("Multiplication"), "*"); 
- } 
-   
- void Form::actionDivide() 
- { 
-     actionMath_helper(tr("Division"), "/"); 
- } 
-   
-   
- void Form::clear() 
- { 
-         i->setText(""); 
- } 
-   
-   
- void Form::setupContextMenu() 
- { 
-   
-   
-       addAction(cell_addAction); 
-       addAction(cell_subAction); 
-       addAction(cell_mulAction); 
-       addAction(cell_divAction); 
-       addAction(cell_sumAction); 
-       addAction(firstSeparator); 
-       addAction(colorAction); 
-       addAction(fontAction); 
-       addAction(secondSeparator); 
-       addAction(clearAction); 
-       setContextMenuPolicy(Qt::ActionsContextMenu); 
- } 
        #include<QtGui>
#include<QPushButton>
#include"newform.h"
#include<iostream>
#include<QString>
#include<QTableWidget>
#include<QWidget>
#include<QAction>
#include<QMenu>
#include<Qt>
using namespace std;
Form::Form(QWidget *parent):QWidget(parent)
{
	  
	setupUi(this);
    //connect(this,SIGNAL(rightClick()),this,SLOT(itemClicked()));
    //connect(this,SIGNAL(rc(QMouseEvent *)),tableWidget,SLOT(mousePressEvent(QMouseEvent *)));
    //connect(this,SIGNAL(cellClicked(int,int)),this,SLOT(mousePressEvent(QMouseEvent *)));
   cout<<"\nconstructor called\n";
   // if(count==1)
    //{
   // Form::createActions();
   // Form::setupContextMenu();
    //}
    //setCentralWidget(table);
    //mousePressEvent(e);
}
 /*Form::Form(int n)
{
  setupUi(this);
  count=n;
 // connect(tableWidget,SIGNAL(cellClicked(int,int)),this,SLOT(mouseClick()));
  if(count==1)
    {
    Form::createActions();
    Form::setupContextMenu();
    }
}*/
 void Form::mouseClick()
{
   // count=1;
     // Form fm;
    Form::createActions();
    Form::setupContextMenu();
}
void Form::display()
{  
                
       int no_of_row;
       int no_of_column;     
       cout<<"\n"<<"test56767"<<endl;
       no_of_column = tableWidget->columnCount ();
       no_of_row = tableWidget->rowCount () ;
       cout<<"\n  ROW  "<<no_of_row<<endl;
       cout<<"\n Column "<<no_of_column<<endl;
       //tableWidget->clear ();
       //tableWidget->removeColumn(no_of_column);
       for(int k=no_of_row;k>=0;k--)
       {
          cout<<"\t " <<k; 
          tableWidget->removeRow (k);
       }
       cout<<"\n";
       for(int j=0;j<100;j++)
       {
          tableWidget->insertRow(j);
          for(int i=0;i<20;i++)
          {
             QTableWidgetItem *newItem = new QTableWidgetItem();
             if(i==0)
             {  
               newItem->setText("0");
               tableWidget->setItem(j,i,newItem);
             }
             if(i==1)
             {
               newItem->setText("1");
               tableWidget->setItem(j,i,newItem);
             }
             if(i==2)
             {
               newItem->setText("2");
               tableWidget->setItem(j,i,newItem);
             }
             if(i==3)
             {   
                newItem->setText("3"); 
                tableWidget->setItem(j,i,newItem);
             }
             if(i==4)
             {
                newItem->setText("4");
                tableWidget->setItem(j,i,newItem);
             } 
             if(i==5)
             {
                newItem->setText("5");
                tableWidget->setItem(j,i,newItem);
             }
             if(i==6)
             {
                newItem->setText("6");
                tableWidget->setItem(j,i,newItem);
             }
             if(i==7)
             {
                newItem->setText("7");
                tableWidget->setItem(j,i,newItem);
             }
             if(i==8)
             {
                newItem->setText("8");
                tableWidget->setItem(j,i,newItem);
             }
             if(i==9)
             {
                newItem->setText("9");
                tableWidget->setItem(j,i,newItem);
             }
             if(i==10)
             {
                newItem->setText("10");
                tableWidget->setItem(j,i,newItem);
             }
             if(i==11)
             {
                newItem->setText("11");
                tableWidget->setItem(j,i,newItem);
             }
             if(i==12)
             {
                newItem->setText("12");
                tableWidget->setItem(j,i,newItem);
             }
             if(i==13)
             {
                newItem->setText("13");
                tableWidget->setItem(j,i,newItem);
             }
             if(i==14)
             {
                newItem->setText("14");
                tableWidget->setItem(j,i,newItem);
             }
             if(i==15)
             {
                newItem->setText("15");
                tableWidget->setItem(j,i,newItem);
             }
             if(i==16)
             {
                newItem->setText("16");
                tableWidget->setItem(j,i,newItem);
             }
             if(i==17)
             {
                newItem->setText("17");
                tableWidget->setItem(j,i,newItem);
             }
             if(i==18)
             {
                newItem->setText("18");
                tableWidget->setItem(j,i,newItem);
             }
             if(i==19)
             {
                newItem->setText("19");
                tableWidget->setItem(j,i,newItem);
             }
        }
   }
   //emit rightClick(tableWidget->grabMouse());  
} 
void Form::mclick()
{
       QMenu *contextMenu = new QMenu ( this );
       QMenu *subMenu = new QMenu ( this );
       Q_CHECK_PTR (contextMenu);
       Q_CHECK_PTR (subMenu);
       subMenu=contextMenu->addMenu ( "Math Opr.");
       subMenu->addAction(cell_addAction);
       subMenu->addAction(cell_subAction);
       subMenu->addAction(cell_mulAction);
       subMenu->addAction(cell_divAction);
       subMenu->addAction(cell_sumAction); 
       contextMenu->addAction(firstSeparator);
       contextMenu->addAction(colorAction);
       contextMenu->addAction(fontAction);
       contextMenu->addAction(secondSeparator);
       contextMenu->addAction(clearAction);
    
       pb3->setMenu(contextMenu); 
       //contextMenu->popup(QCursor::pos());
       //contextMenu->exec ();
      //setContextMenuPolicy(Qt::ActionsContextMenu);
}
void Form::del()
{
   {   delete cell_addAction;
       delete cell_subAction;
       delete cell_mulAction;
       delete cell_divAction;
       delete cell_sumAction;
       delete firstSeparator;
       delete colorAction;
       delete fontAction;
       delete secondSeparator;
       delete clearAction;
   }
}
void Form::mousePressEvent(QMouseEvent *event)
{ 
   if(count==1)
  {
     del();
     count=0;
  }
    // cout<<"\n"<<"testmousepressevent455"<<endl;
     if(event->button() == Qt::LeftButton)
     {
        //QString test = QString(event->x()) + ", " + QString(event->y());
        QMessageBox::warning( this, tr("Position"), tr( "Left Button Pressed" ) );
     }
     else if(event->button() == Qt::RightButton)
     {
        //emit rightClick();
        //setupContextMenu();
       // Form frm;
        QMessageBox::warning( this, tr("Position"), tr( "Right Button Pressed" ) );
     }
 
}
void Form::createActions()
{
    count =1;
    cell_sumAction = new QAction(tr("Sum"), this);
    connect(cell_sumAction, SIGNAL(triggered()), this, SLOT(actionSum()));
    cell_addAction = new QAction(tr("&Add"), this);
    cell_addAction->setShortcut(Qt::CTRL | Qt::Key_Plus);
    connect(cell_addAction, SIGNAL(triggered()), this, SLOT(actionAdd()));
    cell_subAction = new QAction(tr("&Subtract"), this);
    cell_subAction->setShortcut(Qt::CTRL | Qt::Key_Minus);
    connect(cell_subAction, SIGNAL(triggered()), this, SLOT(actionSubtract()));
    cell_mulAction = new QAction(tr("&Multiply"), this);
    cell_mulAction->setShortcut(Qt::CTRL | Qt::Key_multiply);
    connect(cell_mulAction, SIGNAL(triggered()), this, SLOT(actionMultiply()));
    cell_divAction = new QAction(tr("&Divide"), this);
    cell_divAction->setShortcut(Qt::CTRL | Qt::Key_division);
    connect(cell_divAction, SIGNAL(triggered()), this, SLOT(actionDivide()));
    fontAction = new QAction(tr("Font..."), this);
    fontAction->setShortcut(Qt::CTRL|Qt::Key_F);
    connect(fontAction, SIGNAL(triggered()), this, SLOT(selectFont()));
    colorAction = new QAction(QPixmap(16, 16), tr("Background &Color..."), this);
    connect(colorAction, SIGNAL(triggered()), this, SLOT(selectColor()));
    clearAction = new QAction(tr("Clear"), this);
    clearAction->setShortcut(Qt::Key_Delete);
    connect(clearAction, SIGNAL(triggered()), this, SLOT(clear()));
    exitAction = new QAction(tr("E&xit"), this);
    connect(exitAction, SIGNAL(triggered()), qApp, SLOT(quit()));
    firstSeparator = new QAction(this);
    firstSeparator->setSeparator(true);
    secondSeparator = new QAction(this);
    secondSeparator->setSeparator(true);
 
}
void Form::actionSum()
{
    int row_first = 0;
    int row_last = 0;
    int row_cur = 0;
    int col_first = 0;
    int col_last = 0;
    int col_cur = 0;
}
void Form::actionMath_helper(const QString &title, const QString &op)
{
    QString cell1 = "C1";
    QString cell2 = "C2";
    QString out = "C3";
    //QTableWidgetItem *current = tableWidget->currentItem();
}
void Form::actionAdd()
{
    actionMath_helper(tr("Addition"), "+");
}
void Form::actionSubtract()
{
    actionMath_helper(tr("Subtraction"), "-");
}
void Form::actionMultiply()
{
    actionMath_helper(tr("Multiplication"), "*");
}
void Form::actionDivide()
{
    actionMath_helper(tr("Division"), "/");
}
void Form::clear()
{
        foreach (QTableWidgetItem *i, tableWidget->selectedItems())
        i->setText("");
}
void Form::setupContextMenu()
{
     
     
      addAction(cell_addAction);
      addAction(cell_subAction);
      addAction(cell_mulAction);
      addAction(cell_divAction);
      addAction(cell_sumAction);
      addAction(firstSeparator);
      addAction(colorAction);
      addAction(fontAction);
      addAction(secondSeparator);
      addAction(clearAction);
      setContextMenuPolicy(Qt::ActionsContextMenu);
}
To copy to clipboard, switch view to plain text mode 
  
				
Bookmarks