标签: qtablewidgetitem

如何在QTableWidget中更改空白单元格的背景颜色

如果一个单元格有一些数据,请使用

tableWidget->item(8,0)->setBackgroundColor(Qt::red);
Run Code Online (Sandbox Code Playgroud)

更改背景颜色将起作用,但如果单元格为空,则会失败.

qt qt4 qtablewidget qtablewidgetitem qt4.8

20
推荐指数
1
解决办法
3万
查看次数

如何在PyQt中为QTableView的每个单元格添加一个右键菜单

我想添加一个右键菜单来删除,重命名或打开QTAbleView单元格中每个单元格中的图像,我试过,发现每个人都试图将菜单添加到tableview中的标题,我试过下面但是看起来似乎不在下面的代码中工作..

class GalleryUi(QtGui.QTableView):
    """ Class contains the methods that forms the
        UI of Image galery
    """
    def __init__(self, imagesPathLst=None, parent=None):
        super(GalleryUi, self).__init__(parent)
        self.__sw = QtGui.QDesktopWidget().screenGeometry(self).width()
        self.__sh = QtGui.QDesktopWidget().screenGeometry(self).height()
        self.__animRate = 1200
        self._imagesPathLst = imagesPathLst
        self._thumb_width = 200
        self._thumb_height = self._thumb_width + 20
        self.setUpWindow(initiate=True)

        self._startControlBar()

        self._connections()

    def contextMenuEvent(self, event):

        index = self.indexAt(event.pos())
        menu = QtGui.QMenu()
        renameAction = QtGui.QAction('Exit', self)
        renameAction.triggered.connect(self.close)
        self.menu.addAction(renameAction)
        self.menu.popup(QtGui.QCursor.pos())

    def closeEvent(self,event):
        # in case gallery is launched by Slideshow this is not needed
        if hasattr(self, 'bar'):
            self.bar.close()

    def …
Run Code Online (Sandbox Code Playgroud)

contextmenu pyqt qtableview qtablewidgetitem python-2.7

12
推荐指数
2
解决办法
2万
查看次数

调整QTableWidget列和行的大小以填充表

我有一个带有N列的QTableWidget,当设置列数时,它们会自动填充整个QTableWidget.当我尝试将列数动态更改为N/2列时,每列的大小不会更改.这导致QTableWidget的右半部分只是空格.

相反,如果我将列数重置为2*N,则列宽适当调整自己并填充QTableWidget.

我想知道如何在没有QTableWidget任何空格的情况下重置列数和行数?

c++ user-interface qt qtablewidget qtablewidgetitem

10
推荐指数
1
解决办法
2万
查看次数

如何在pyqt中更改Qtablewidget的特定单元格背景颜色

我是pyqt4的新手,我无法弄清楚如何做到这一点.我有一个包含数据的QtableWidget.我想改变tableWidget的单元格的一些背景颜色.

我试过self.tableWidget.item(3, 5).setBackground(QtGui.QColor(100,100,150)),它返回此错误:

AttributeError:'NoneType'对象没有属性'setBackground'

我该怎么办?

python pyqt pyqt4 qtablewidget qtablewidgetitem

8
推荐指数
1
解决办法
2万
查看次数

Qt - 如何将数据与QTableWidgetItem相关联?

我想将附加数据与插入表中的每个QTableWidgetItem相关联,以便将来在表项上单击时使用该数据.但是这些数据不应该是可见的.我怎样才能做到这一点?

qt qt4 qtablewidget qtablewidgetitem

7
推荐指数
2
解决办法
2万
查看次数

在QSqlTableModel的QTableView列中显示图像

我很好奇如何在数据库中显示图像QTableView.

有没有这样的东西QTableWidgetItem我可以使用它QTableView

我用QSqlTableModel.

c++ qt qtableview qtablewidgetitem

7
推荐指数
1
解决办法
6940
查看次数

将QPushButton添加到QTableWidget中的QTableWidgetItem中,如何使其成为Qt :: AlignHCenter

for(int i=0; i<page.size(); i++){
    User user= Poco::AnyCast<User>(*it);
    ui.table->setItem(i,0,new QTableWidgetItem(user.userName)); 
    ui.table->setItem(i,1,new QTableWidgetItem(user.sex));
    ui.table->setItem(i,2,new QTableWidgetItem(user.age));

    QPushButton* btn_edit = new QPushButton();
    btn_edit = new QPushButton();
    btn_edit->setText("Edit");
    ui.table->setCellWidget(i,3,(QWidget*)btn_edit);

    ++it;
}
Run Code Online (Sandbox Code Playgroud)

我使用函数setCellWidget()将QPushButton添加到单元格中,我知道,如果它是QTableWidgetItem,我可以使用:

ui.table->item(0,3)->setTextAlignment(QT::AlignHCenter)
Run Code Online (Sandbox Code Playgroud)

但它是一个小工具,

QTableWidgetItem item = ui.table->item(0,3); 
Run Code Online (Sandbox Code Playgroud)

该项为null.

我可以通过使用获得细胞

ui.table->cellWidget(0,3).
Run Code Online (Sandbox Code Playgroud)

如何使按钮在单元格中居中?

c++ qt qtablewidget qtablewidgetitem

7
推荐指数
1
解决办法
1万
查看次数

检测点击并获取 QTableWidget 标题的文本,如何?

我了解如何QTableWidget通过观察信号来检测单元格中的点击cellClicked(int row, int column)(下面的代码)。

我想对水平标题的单元格执行相同的操作,并获取单击的标题单元格的文本。我怎么做?

// mainwindow.h
class MainWindow : public QMainWindow {
    Q_OBJECT
    QWidget widget;
    QVBoxLayout vLayout {&widget};
    QStringList headers {"asdca", "asdcad", "asdcadca"};
    QTableWidget table {5, headers.size()};
public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow() {}
};

// mainwindow.cpp
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) {
    setCentralWidget(&widget);
    vLayout.addWidget(&table);
    table.setHorizontalHeaderLabels(headers);
    connect(&table, &QTableWidget::clicked, []{
       qDebug() << "click!!" ;
    });
}
Run Code Online (Sandbox Code Playgroud)

c++ qt qtablewidget qtablewidgetitem qt5

6
推荐指数
1
解决办法
8371
查看次数

如何在QTableWidget中显示点击QPushButton的行

我想删除QPushButton点击的行如何可能我认为使用插槽是合理的但如何做到这一点不知道,如果您有任何想法如何获取一行选定的按钮请分享,谢谢。

这是我的桌子

这是我向 QTableWidget 添加行的代码

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    for(int i = 0; i<20;i++)
        ui->tableWidget->insertRow(ui->tableWidget->rowCount());
    QVector<QString>vec;
    vec<<"first"<<"sec"<<"third"<<"for"<<"fif"<<"first"<<"sec"
      <<"third"<<"for"<<"fif";
    vec<<"first"<<"sec"<<"third"<<"for"<<"fif"<<"first"<<"sec"
      <<"third"<<"for"<<"fif";
    for(int i = 0; i<ui->tableWidget->rowCount();i++)
    {
        for(int j = 0; j<ui->tableWidget->columnCount();j++)
        {
            if(j == 0)
            {
                QWidget* pWidget = new QWidget();
                QPushButton* btn_edit = new QPushButton();
                btn_edit->setText("Remove");
                QHBoxLayout* pLayout = new QHBoxLayout(pWidget);
                pLayout->addWidget(btn_edit);
                pLayout->setAlignment(Qt::AlignCenter);
                pLayout->setContentsMargins(0, 0, 0, 0);
                pWidget->setLayout(pLayout);
                ui->tableWidget->setCellWidget(i, j, pWidget);
                continue;

            }
            QTableWidgetItem*item = new QTableWidgetItem(vec[i]);
            item->setFlags(item->flags() ^ Qt::ItemIsEditable);
            ui->tableWidget->setItem(i, j, item); …
Run Code Online (Sandbox Code Playgroud)

c++ qt qtablewidget qtablewidgetitem qt5

6
推荐指数
1
解决办法
4857
查看次数

QTableWidget,居中 cellWidgets

有没有办法将QCheckBox单元格小部件放置在单元格QTableWidget的中心,而不是在左侧,而不需要额外的QWidget并将复选框添加到它的布局中?

c++ qt qtablewidget qtablewidgetitem qcheckbox

6
推荐指数
1
解决办法
3610
查看次数