我还在学习Qt,我非常感谢SO社区为我提供了很好的,非常及时的Qt问题答案.谢谢.
我对在标题中添加标题的想法感到很困惑QTableWidget.我想做的是有一个包含团队成员信息的表.每个row成员都应该包含他的名字和姓氏,每个名字都在自己的单元格中,一个单元格中有一个电子邮件地址,另一个单元格中有办公室.我将header在这些列上方添加适当的名称.
我试图轻松开始,只需要标题显示"Last"(如姓氏).这是我的代码.
int column = m_ui->teamTableWidget->columnCount();
m_ui->teamTableWidget->setColumnCount(column+1);
QString* qq = new QString("Last");
m_ui->teamTableWidget->horizontalHeader()->model()->setHeaderData(0,
Qt::Horizontal, QVariant(QVariant::String, &qq));
Run Code Online (Sandbox Code Playgroud)
我的表被正确呈现,但标题不包含我期望的内容.它包含1个包含文本"1"的单元格.
我显然在做一些非常愚蠢的事情,这是错误的,但我迷失了.我一直在倾注文件,一无所获.
感谢您的帮助.
我正在使用PyQt,但我的问题是一般的Qt:
我有一个由函数updateTable设置的QTableWidget.它在调用时将数据从DATASET写入表中.不幸的是,这会导致我的QTableWidget为每个单元格发出信号cellChanged().
信号cellChanged()连接到函数on_tableWidget_cellChanged,该函数读取已更改单元格的内容并将其写回DATASET.这是允许用户手动更改数据所必需的.
因此,每次更新表时,其内容都会写回DATASET.
有没有办法区分用户或updateTable是否更改了单元格?
我想暂时用updateTable断开on_tableWidget_cellChanged,但这似乎有点脏.
我正在努力实现拖放工作.我希望能够从QPushButton拖放到QTableView的单元格中.我在线查看了一些教程,但似乎第一步陷入困境.下面的例子中,从惊人zetcode教程改变: http://zetcode.com/tutorials/pyqt4/dragdrop/
使用下面的代码,当我将按钮拖动到tableWidget的dragEnterEvent似乎被调用,但是一旦我将鼠标悬停在桌子上,我得到我不能砸在桌子上那个符号,所以绝不能去掉事件:(
我不得不承认我对pyqt很新,所以可能会遗漏一些非常简单的东西.非常感谢我能得到的任何帮助!干杯戴夫
import sys
from PyQt4 import QtGui
from PyQt4 import QtCore
class Button(QtGui.QPushButton):
def __init__(self, title, parent):
super(Button, self).__init__(title, parent)
def mouseMoveEvent(self, e):
if e.buttons() != QtCore.Qt.RightButton:
return
mimeData = QtCore.QMimeData()
drag = QtGui.QDrag(self)
drag.setMimeData(mimeData)
drag.setHotSpot(e.pos() - self.rect().topLeft())
dropAction = drag.start(QtCore.Qt.MoveAction)
def mousePressEvent(self, e):
QtGui.QPushButton.mousePressEvent(self, e)
if e.button() == QtCore.Qt.LeftButton:
print 'press'
class MyTable(QtGui.QTableWidget):
def __init__(self, rows, columns, parent):
super(MyTable, self).__init__(rows, columns, parent)
self.setAcceptDrops(True)
def dragEnterEvent(self, e):
print e.accept()
def dropEvent(self, e):
print 'blah'
position = e.pos() …Run Code Online (Sandbox Code Playgroud) 我正在开发一个我正在使用QTableWidgets的应用程序,我需要将其背景设置为透明,我已尝试setStyleSheet "background:transparent;"从形式,但没有任何反应,有没有其他方法可以做到这一点?我发布了截图

为什么使用以下代码我只得到一个空表小部件?
QString imgPath = "C:\\path\\to\\image.jpg";
QImage *img = new QImage(imgPath);
QTableWidget *thumbnailsWidget = new QTableWidget;
QTableWidgetItem *thumbnail = new QTableWidgetItem;
thumbnail->setData(Qt::DecorationRole, QPixmap::fromImage(*img));
thumbnailsWidget->setColumnCount(5);
thumbnailsWidget->setRowCount(3);
thumbnailsWidget->setItem(0, 0, thumbnail);
setCentralWidget(thumbnailsWidget);
Run Code Online (Sandbox Code Playgroud)
如何将图像放入QTableWidgetItem?
谢谢.
PS:
我注意到桌子不是空的.单击不同的QTableWidgetItem元素,空的元素变为蓝色,坐标为[0,0]的元素以不同的方式突出显示:青色,左侧有一个细蓝色条...
例如,我有一个PyQt QTableWidget,它有3列和2行.列标题标记为A,B和C.
A B C
1 2 3
4 5 6
Run Code Online (Sandbox Code Playgroud)
这是我目前来源的摘录:
class myform(QtGui.QMainWindow):
def __init__(self, parent=None):
super(myform, self).__init__(parent)
self.ui = Ui_mygui()
self.ui.setupUi(self)
self.ui.mytablewidget.cellClicked.connect(self.cell_was_clicked)
@QtCore.pyqtSlot() # prevents executing following function twice
def cell_was_clicked(self):
row = self.ui.mytablewidget.currentItem().row()
print "row=",row
col = self.ui.mytablewidget.currentItem().column()
print "col=",col
item = self.ui.mytablewidget.horizontalHeaderItem(col).text()
print "item=",item
Run Code Online (Sandbox Code Playgroud)
我的代码工作,当我在表中选择一行时...我从选择中得到正确的行和列号.
给定指定标题名称,返回所选行的单元格值所需的代码是什么?如果我选择第2行单元格1 ...如何在同一行上获取C列的单元格值?
我有一个QTableWidget的有残疾的setSelectionMode(QTableWidget的:: NOSELECTION),我填不具备的Qt :: ItemIsEditable标志QTableWidgetItems.
然而,单击的单元格会获得某种光标(在我的情况下,底部的黑线):

如何禁用此"光标"?
我正在研究一个小型图书馆应用程序。我正在从Excel工作表中获取数据。然后发送到qtablewidget。
A B C
1 a1 b1 c1
2 a2 b2 c2
3 a3 b3 c3
Run Code Online (Sandbox Code Playgroud)
我想将选定的行值作为列表。
row1 = [a1.value,a2.value,a3.value]
我怎样才能做到这一点?
我正在尝试更改QTableWidget的背景颜色.还有其他一些关于同样事情的帖子,这个解决方案对我来说没有任何帮助.
使用该解决方案,我们将表格中的alredy已存在项目的背景设置为第0行第1列的项目上的浅灰色:
self.table.item(1,0).setBackground(QtGui.QColor(125,125,125))
它正在工作,但如果你有一个以上的表,那么迭代的行设置背景需要更多的时间.我需要一个函数来通过只传递行索引来改变行背景!
我的问题是关于QTableWidget显示单元格值的方式.
我希望单元格在未编辑时仅显示三位小数,并在双击进行编辑时显示完整值.
我在后台进行计算,然后设置单元格值.
V_D = 3/0.7
self.TableWidget.setItem(0, 0, QTableWidgetItem(str(V_D)))
Run Code Online (Sandbox Code Playgroud)
类似于excel格式化单元格以显示特定数量的数字.
全价:
显示价值:
我该怎么做呢?
qtablewidget ×10
pyqt ×6
python ×6
qt ×5
c++ ×2
pyqt4 ×2
background ×1
image ×1
pyqt5 ×1
python-2.7 ×1
python-3.x ×1
qheaderview ×1
qt4 ×1
qtgui ×1
signals ×1
transparency ×1