Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. how to get one common cell in QTableWidget
Forum Updated to NodeBB v4.3 + New Features

how to get one common cell in QTableWidget

Scheduled Pinned Locked Moved Unsolved General and Desktop
15 Posts 7 Posters 1.7k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Q Offline
    Q Offline
    Qt Enthusiast
    wrote on last edited by aha_1980
    #1
    This post is deleted!
    RatzzR 1 Reply Last reply
    0
    • Q Qt Enthusiast

      This post is deleted!

      RatzzR Offline
      RatzzR Offline
      Ratzz
      wrote on last edited by
      #2

      @Qt-Enthusiast

      Why do you duplicate posts https://forum.qt.io/topic/97391/how-to-design-the-form-need-valuable-inputs ?

      --Alles ist gut.

      1 Reply Last reply
      2
      • Q Offline
        Q Offline
        Qt Enthusiast
        wrote on last edited by
        #3

        I delete here and post in the orginal . . Could you please answer my question

        1 Reply Last reply
        0
        • Q Offline
          Q Offline
          Qt Enthusiast
          wrote on last edited by Qt Enthusiast
          #4

          I have written a code

          #include "mainwindow.h"
          #include <QTableWidget>

          MainWindow::MainWindow(QWidget *parent) :
          QMainWindow(parent)
          {
          QTableWidget * t = new QTableWidget;
          t->setColumnCount(5);
          t->setRowCount(2);
          QStringList headerLabels;

          QString col1 = "Col1";
          QString col2 = "Col2";
          
          QString col3 = "Col3";
          
          QString col4 = "Col4";
          
          QString col5 = "Col5";
          
          headerLabels << col1 << col2 << col3 << col4 << col5;
          t->setHorizontalHeaderLabels(headerLabels);
          t->show();
          

          }

          I am getting following table 0_1544270808170_Table1.png

          I do not want the cell in red and in fact I need 1 in place of red cell any idea

          mrjjM 1 Reply Last reply
          0
          • Q Qt Enthusiast

            I have written a code

            #include "mainwindow.h"
            #include <QTableWidget>

            MainWindow::MainWindow(QWidget *parent) :
            QMainWindow(parent)
            {
            QTableWidget * t = new QTableWidget;
            t->setColumnCount(5);
            t->setRowCount(2);
            QStringList headerLabels;

            QString col1 = "Col1";
            QString col2 = "Col2";
            
            QString col3 = "Col3";
            
            QString col4 = "Col4";
            
            QString col5 = "Col5";
            
            headerLabels << col1 << col2 << col3 << col4 << col5;
            t->setHorizontalHeaderLabels(headerLabels);
            t->show();
            

            }

            I am getting following table 0_1544270808170_Table1.png

            I do not want the cell in red and in fact I need 1 in place of red cell any idea

            mrjjM Offline
            mrjjM Offline
            mrjj
            Lifetime Qt Champion
            wrote on last edited by mrjj
            #5

            @Qt-Enthusiast
            Hi
            You can look on how to style the red part
            http://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview
            (QTableView QTableCornerButton::section)

            I dont get this part

            • and in fact I need 1 in place of red cell

            Can you explain better ?

            you mean dont have any headerLabels so
            first row start there ?

            1 Reply Last reply
            1
            • Q Offline
              Q Offline
              Qt Enthusiast
              wrote on last edited by
              #6

              yes
              The row should start from red cell and Also I want the form as

              0_1544279981038_Sample.png

              mrjjM 1 Reply Last reply
              0
              • Q Qt Enthusiast

                yes
                The row should start from red cell and Also I want the form as

                0_1544279981038_Sample.png

                mrjjM Offline
                mrjjM Offline
                mrjj
                Lifetime Qt Champion
                wrote on last edited by
                #7

                @Qt-Enthusiast
                hi
                you can hide the header with
                ui->tableWidget->verticalHeader()->setVisible(false);

                1 Reply Last reply
                2
                • dheerendraD Offline
                  dheerendraD Offline
                  dheerendra
                  Qt Champions 2022
                  wrote on last edited by
                  #8

                  What I have understood now is that you don't want vertical headers. Can you just try the following in your constructor ?

                  t->verticalHeader()->hide();

                  Dheerendra
                  @Community Service
                  Certified Qt Specialist
                  http://www.pthinks.com

                  1 Reply Last reply
                  2
                  • Q Offline
                    Q Offline
                    Qt Enthusiast
                    wrote on last edited by
                    #9

                    HOW TO INSERT Label + button at the last cells of last co![0_1544280441906_

                    0_1544280521223_s1.png

                    aha_1980A 1 Reply Last reply
                    0
                    • Q Qt Enthusiast

                      HOW TO INSERT Label + button at the last cells of last co![0_1544280441906_

                      0_1544280521223_s1.png

                      aha_1980A Offline
                      aha_1980A Offline
                      aha_1980
                      Lifetime Qt Champion
                      wrote on last edited by
                      #10

                      @Qt-Enthusiast

                      http://doc.qt.io/qt-5/qtablewidget.html#setCellWidget

                      Qt has to stay free or it will die.

                      1 Reply Last reply
                      -1
                      • Q Offline
                        Q Offline
                        Qt Enthusiast
                        wrote on last edited by
                        #11

                        In this case I have a Label + button . I can I get both . Do I have to put a custom class

                        aha_1980A 1 Reply Last reply
                        0
                        • Q Qt Enthusiast

                          In this case I have a Label + button . I can I get both . Do I have to put a custom class

                          aha_1980A Offline
                          aha_1980A Offline
                          aha_1980
                          Lifetime Qt Champion
                          wrote on last edited by
                          #12

                          @Qt-Enthusiast said in how to get one common cell in QTabelWidget:

                          In this case I have a Label + button . I can I get both . Do I have to put a custom class

                          Either that (a QHBoxLayout for example) or just put them in two columns

                          Qt has to stay free or it will die.

                          1 Reply Last reply
                          0
                          • Q Offline
                            Q Offline
                            Qt Enthusiast
                            wrote on last edited by
                            #13

                            @Qt-Enthusiast said in how to get one common cell in QTableWidget:

                            #include "mainwindow.h"
                            #include <QTableWidget>
                            MainWindow::MainWindow(QWidget *parent) :
                            QMainWindow(parent)
                            {
                            QTableWidget * t = new QTableWidget;
                            t->setColumnCount(5);
                            t->setRowCount(2);
                            QStringList headerLabels;
                            QString col1 = "Col1";
                            QString col2 = "Col2";

                            QString col3 = "Col3";

                            QString col4 = "Col4";

                            QString col5 = "Col5";

                            headerLabels << col1 << col2 << col3 << col4 << col5;
                            t->setHorizontalHeaderLabels(headerLabels);
                            t->show();

                            }

                            getting compilation error her

                            #include "mainwindow.h"
                            #include <QTableWidget>
                            #include <QPushButton>
                            #include <QComboBox>
                            #include <QLineEdit>
                            #include <QHBoxLayout>
                            #include <QLabel>
                            #include <QHBoxLayout>

                            MainWindow::MainWindow(QWidget *parent) :
                            QMainWindow(parent)
                            {
                            QTableWidget * t = new QTableWidget;
                            t->setColumnCount(5);
                            t->setRowCount(3);
                            QStringList headerLabels;

                            QString col1 = "Col1";
                            QString col2 = "Col2";

                            QString col3 = "Col3";

                            QString col4 = "Col4";

                            QString col5 = "Col5";

                            headerLabels << col1 << col2 << col3 << col4 << col5;
                            t->setHorizontalHeaderLabels(headerLabels);
                            QPushButton* button = new QPushButton();
                            button->setText("No of Mappings");

                            QPushButton* button1 = new QPushButton();
                            button1->setText("Group");

                            QPushButton* button2 = new QPushButton();
                            button2->setText("Type");

                            QPushButton* button3 = new QPushButton();
                            button3->setText("Rules");

                            QPushButton* button4 = new QPushButton();
                            button4->setText("Options");

                            t->setCellWidget(0,0,button);
                            t->setCellWidget(0,1,button1);
                            t->setCellWidget(0,2,button2);
                            t->setCellWidget(0,3,button3);
                            t->setCellWidget(0,4,button4);

                            t->setCellWidget(1,2,new QComboBox());
                            t->setCellWidget(2,2,new QComboBox());
                            t->setCellWidget(1,3,new QLineEdit());
                            t->setCellWidget(2,3,new QLineEdit());
                            QHBoxLayout* hbox = new QHBoxLayout ;

                            QLabel* label = new QLabel("Options");
                            QPushButton * button22;
                            button2->setText("+");
                            hbox->addWidget(label);
                            hbox->addWidget(button22);
                            t->setCellWidget(1,4,hbox);

                            QHBoxLayout* hbox1 = new QHBoxLayout ;
                            QPushButton * button31 = new QPushButton;
                            button31->setText("+");
                            hbox1->addWidget(label);
                            hbox1->addWidget(button3);
                            t->setCellWidget(1,4,hbox1);

                            t->show();

                            }

                            MainWindow::~MainWindow()
                            {

                            }

                            jsulmJ 1 Reply Last reply
                            0
                            • Q Qt Enthusiast

                              @Qt-Enthusiast said in how to get one common cell in QTableWidget:

                              #include "mainwindow.h"
                              #include <QTableWidget>
                              MainWindow::MainWindow(QWidget *parent) :
                              QMainWindow(parent)
                              {
                              QTableWidget * t = new QTableWidget;
                              t->setColumnCount(5);
                              t->setRowCount(2);
                              QStringList headerLabels;
                              QString col1 = "Col1";
                              QString col2 = "Col2";

                              QString col3 = "Col3";

                              QString col4 = "Col4";

                              QString col5 = "Col5";

                              headerLabels << col1 << col2 << col3 << col4 << col5;
                              t->setHorizontalHeaderLabels(headerLabels);
                              t->show();

                              }

                              getting compilation error her

                              #include "mainwindow.h"
                              #include <QTableWidget>
                              #include <QPushButton>
                              #include <QComboBox>
                              #include <QLineEdit>
                              #include <QHBoxLayout>
                              #include <QLabel>
                              #include <QHBoxLayout>

                              MainWindow::MainWindow(QWidget *parent) :
                              QMainWindow(parent)
                              {
                              QTableWidget * t = new QTableWidget;
                              t->setColumnCount(5);
                              t->setRowCount(3);
                              QStringList headerLabels;

                              QString col1 = "Col1";
                              QString col2 = "Col2";

                              QString col3 = "Col3";

                              QString col4 = "Col4";

                              QString col5 = "Col5";

                              headerLabels << col1 << col2 << col3 << col4 << col5;
                              t->setHorizontalHeaderLabels(headerLabels);
                              QPushButton* button = new QPushButton();
                              button->setText("No of Mappings");

                              QPushButton* button1 = new QPushButton();
                              button1->setText("Group");

                              QPushButton* button2 = new QPushButton();
                              button2->setText("Type");

                              QPushButton* button3 = new QPushButton();
                              button3->setText("Rules");

                              QPushButton* button4 = new QPushButton();
                              button4->setText("Options");

                              t->setCellWidget(0,0,button);
                              t->setCellWidget(0,1,button1);
                              t->setCellWidget(0,2,button2);
                              t->setCellWidget(0,3,button3);
                              t->setCellWidget(0,4,button4);

                              t->setCellWidget(1,2,new QComboBox());
                              t->setCellWidget(2,2,new QComboBox());
                              t->setCellWidget(1,3,new QLineEdit());
                              t->setCellWidget(2,3,new QLineEdit());
                              QHBoxLayout* hbox = new QHBoxLayout ;

                              QLabel* label = new QLabel("Options");
                              QPushButton * button22;
                              button2->setText("+");
                              hbox->addWidget(label);
                              hbox->addWidget(button22);
                              t->setCellWidget(1,4,hbox);

                              QHBoxLayout* hbox1 = new QHBoxLayout ;
                              QPushButton * button31 = new QPushButton;
                              button31->setText("+");
                              hbox1->addWidget(label);
                              hbox1->addWidget(button3);
                              t->setCellWidget(1,4,hbox1);

                              t->show();

                              }

                              MainWindow::~MainWindow()
                              {

                              }

                              jsulmJ Offline
                              jsulmJ Offline
                              jsulm
                              Lifetime Qt Champion
                              wrote on last edited by
                              #14

                              @Qt-Enthusiast said in how to get one common cell in QTableWidget:

                              getting compilation error her

                              Don't you think you should post the error?

                              https://forum.qt.io/topic/113070/qt-code-of-conduct

                              1 Reply Last reply
                              1
                              • VRoninV Offline
                                VRoninV Offline
                                VRonin
                                wrote on last edited by
                                #15

                                The ideal solution is using a custom QStyledItemDelegate. If you can't be asked/want to delay the painful process you can design your label+button as a widget in designer and then use this delegate

                                "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                                ~Napoleon Bonaparte

                                On a crusade to banish setIndexWidget() from the holy land of Qt

                                1 Reply Last reply
                                4

                                • Login

                                • Login or register to search.
                                • First post
                                  Last post
                                0
                                • Categories
                                • Recent
                                • Tags
                                • Popular
                                • Users
                                • Groups
                                • Search
                                • Get Qt Extensions
                                • Unsolved