标签: qtablewidget

调整单元格的高度和宽度并在QTableWidget中加载图像

我想用正方形单元格制作一个8 * 8的桌子(一个棋盘)。现在,我有了制作表格的代码,但是不知道如何将单元格调整为正方形。

我也想将碎片图片放入单元格中。我该怎么办?

这是我的代码:

#include <QtGui/QApplication>
#include "mainwindow.h"
#include <QHBoxLayout>
#include <QTableWidget>

class Table : public QWidget
{
  public:
    Table(QWidget *parent = 0);

};


Table::Table(QWidget *parent)
    : QWidget(parent)
{
  QHBoxLayout *hbox = new QHBoxLayout(this);

  QTableWidget *table = new QTableWidget(8 , 8 , this);

  hbox->addWidget(table);
  setLayout(hbox);
}



int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    Table t;

    t.show();


    return a.exec();
}
Run Code Online (Sandbox Code Playgroud)

编辑:

如果有人也可以帮助我加载图像作为单元格的背景,将不胜感激!我使用此代码,并且编译器不会生成错误,但是程序无法运行。我认为问题出在table->item(0,0)。我应该先初始化吗?

QString fileName = "1.bmp";
QPixmap pic (fileName);

QIcon icon (pic);

table->item(0,0)->setIcon(icon);
Run Code Online (Sandbox Code Playgroud)

qt resize image cell qtablewidget

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

如何让这个QTableWidget显示项目?

我有一个QTableWidget,我无法在其中显示任何内容.

以下内容出现在主窗口的构造函数中:

ui->tableWidget->setItem(0,0,new QTableWidgetItem("Item1"));
ui->tableWidget->setItem(0,1,new QTableWidgetItem("Item2"));
ui->tableWidget->setItem(0,2,new QTableWidgetItem("Item3"));
Run Code Online (Sandbox Code Playgroud)

当我运行应用程序时,表格小部件显示,但项目不显示.

我尝试ui->tableWidget->insertRow(0);在上面的代码之前添加,但它没有用.

qt qtablewidget

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

在QT / Python中将字符串作为项目添加到tableWidget

我有一个包含字符串的数组,我想将每个字符串添加到的不同行和同一列中tableWidget

我正在使用该函数setItem更改所需的字段,但出现错误QTableWidget.setItem(int, int, QTableWidgetItem): argument 3 has unexpected type 'str'。我搜索了一下,我想我必须使用函数QTableWidgetItemhere)将字符串转换为tableWidgetItem,但是,我不知道如何使用该函数以及“类型”的含义(整数值)。

一个(具体的)示例如何使用该函数将字符串转换为tableWidgetItem会很有帮助。

到目前为止,我的代码如下所示:

pc = 2
i = 0
while i <= pc:
    self.tableWidget.insertRow(i)
    self.tableWidget.setItem(i, 0, parameter[i])
    i += 1
Run Code Online (Sandbox Code Playgroud)

这也将是有益的,如果有人指出,如果有更好的方法来将字符串添加到一个tableWidgetsetItem

python string qt qtablewidget qtablewidgetitem

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

在PyQT4中上下移动行

考虑一个QTableWidget和两个按钮"向上移动"和"向下移动".单击向上移动,当前行应向上移动一行,类似于"向下移动".

实现相应的上移和下移功能的最简单方法是什么?

python pyqt pyqt4 qtablewidget

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

在pyqt tablewidget中排序

如何用最高数字对pyqt中的coloumn进行排序?目前我有setSortingEnabled(True),并且只按最大数量(例如1,1,1,1,2,2,2,3,3)对其进行排序,我希望以最高数字(例如58,25)进行排序. ,15,10).谢谢!

数据更新:

def setmydata(self):
    for n, key in enumerate(self.data):
        for m, item in enumerate(self.data[key]):
            newitem = QtGui.QTableWidgetItem(item)
            self.setItem(m, n, newitem)
Run Code Online (Sandbox Code Playgroud)

整码:

import sys
from PyQt4.QtGui import QTableWidget 
from PyQt4 import QtGui,QtCore,Qt
import MySQLdb as mdb
from functools import partial
import time
class Window(QtGui.QDialog):
    process_column_signal = QtCore.pyqtSignal()
    def __init__(self,parent=None):
        super(Window, self).__init__()
        self.layout = QtGui.QVBoxLayout(self)
        self.db = mdb.connect('serv','user','pass','db')
        self.model = self.db.cursor()
        self.initialData = self.get_data_status()
        self.table1 = MyTableStatus(self.initialData, 145, 4)
        callback = partial(self.process_column,self.table1)
        self.process_column_signal.connect(callback)        
        self.layout.addWidget(self.table1)  
        self.timer_status = QtCore.QTimer()
        self.timer_status.timeout.connect(self.updateAllViews)
        self.timer_status.timeout.connect(self.some_method) …
Run Code Online (Sandbox Code Playgroud)

python pyqt qtablewidget

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

QTableWidget:仅允许数字

有没有办法禁止QTableWidget中除数字(0-9)之外的任何字符?对于QLineEdits,我使用的是RegEx验证器,但这不适用于QTableWidgets.我想把QLineEdits作为CellWidgets插入到表中,但后来我不得不在我的代码中重写了大量的函数.那么,还有其他(直接)方法吗?

c++ qt qtablewidget

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

调整列宽QTableWidget的大小

我有用QTableWidget创建的这个小部件: 在此输入图像描述

我希望我的表的列调整大小以占据窗口小部件的整个宽度,而对于行是可以的.我知道有一个像我一样的类似问题但是我无法以这种方式解决它.这是我的代码

void MainWindow::createTable(int rows, int columns) {
    mainList = new QTableWidget;
    QStringList headerLabels;
    headerLabels << "Title" << "Director" << "Year" << "Counter" << "Rating";
    mainList->setRowCount(rows);
    mainList->setColumnCount(columns);
    mainList->setHorizontalHeaderLabels(headerLabels);
    mainList->setEditTriggers(QAbstractItemView::DoubleClicked | QAbstractItemView::SelectedClicked);
    mainList->setSelectionBehavior(QAbstractItemView::SelectRows);
    mainList->resizeColumnsToContents();
    mainList->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);

    setCentralWidget(mainList);
}
Run Code Online (Sandbox Code Playgroud)

c++ qt qtablewidget

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

QtableWidget不显示数据

我有一个创建随机数据的类,该数据想在主窗口的表视图中显示。

我通过Designer将一个表视图添加到主窗口,并将其称为tblData。我怀疑问题与此有关,因为当我调用构造函数时,具有某些实现的ui文件已经存在。

我已从http://qt-project.org/doc/qt-5/qtablewidget.html中获取“详细说明”部分作为指导。...

但是,该表保持为空。我不明白为什么...非常感谢。

include "mainwindow.h"
#include "ui_mainwindow.h"

#include <QDebug>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    QStringList headers;
    headers << "Datapoints";

    Dataset *myData;
    myData = new Dataset();
    myData->createRandomData(10);   // create a ten element vector

    QVector<int> data;
    data = myData->getDataVector(); // data vector created in class Dataset
    qDebug() << data;

    int i;
    for (i = 0 ; i < data.size() ; i++){
        QString datapoint;
        datapoint = QString::number(data[i]);
        QTableWidgetItem * newItem = new QTableWidgetItem(datapoint);

        ui->tblData->setItem(i, 0, newItem); // …
Run Code Online (Sandbox Code Playgroud)

c++ qt qtablewidget qtablewidgetitem

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

QTableWidget选择一个带有按钮的单元格

我对PyQt4的QTableWidget有疑问。假设我有一个QTableWidget,我想在其中使用以下命令将事件连接到单元格单击:

table.cellClicked.connect(cellClick)
Run Code Online (Sandbox Code Playgroud)

然后,cellClick函数完成其工作。关键是:有些单元格包含一个按钮,例如这样(例如,坐标0,0):

button = QtGui.QPushButton()
table.setCellWidget(0,0, button)
Run Code Online (Sandbox Code Playgroud)

现在是我的问题。单元格中的按钮(占用整个单元格空间)的存在会完全禁用cellClicked-单元格不会被单击,因此无法检测到该操作。但是我确实希望我的按钮充满整个单元格。

简而言之,我的问题是-当内部有一个按钮时,如何选择(单击)QTableWidget单元格?

python pyqt4 qtablewidget

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

如何将文本对齐到QTableWidget中的单元格中心

我正在使用基于Qt4的PyQt。我的编辑器是PyCharm 2017.3,我的python版本是3.4。我正在从网站上抓取一些文字。我试图将文本与QTableWidget中单元格的中心对齐。

item = QTableWidgetItem(scraped_age).setTextAlignment(Qt.AlignHCenter)
self.tableWidget.setItem(x, 2,item)
Run Code Online (Sandbox Code Playgroud)

因此,在将项目放入单元格时,我正在尝试根据文档进行对齐。问题是没有显示数据。

QtableWidget的一部分,其中没有显示数据

当我删除setTextAlignment方法时,它确实显示了,如下所示

item = QTableWidgetItem(scraped_age)
self.tableWidget.setItem(x, 2,item)
Run Code Online (Sandbox Code Playgroud)

我的QtableWidget的一部分

python pyqt alignment pyqt4 qtablewidget

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

标签 统计

qtablewidget ×10

qt ×6

python ×5

c++ ×3

pyqt ×3

pyqt4 ×3

qtablewidgetitem ×2

alignment ×1

cell ×1

image ×1

resize ×1

string ×1