我想知道当我在 PyQt 中按下 Tab 键时如何从一个表格小部件移动到下一个小部件。
当前小部件序列由行编辑 > 组合框 > 表格小部件 > 按钮组成。在行编辑中,当您在开始时按 Tab 键时,组合框 > 表格小部件将依次移动到。然而,在 table-widget 中,反复移动到最后,它再次移动到 table-widget 的0,0
行和列,而不是下一个小部件(按钮)。
我该如何解决?
我需要用python读取bmp文件的标题。我这样试过,但它显然只返回一堆不可理解的字节:
f = open(input_filename,"rb")
data = bytearray(f.read())
f.close()
print(data[:14])
Run Code Online (Sandbox Code Playgroud)
我的想法是找到一个模块或一些快速的东西,以便在打开它时记录图像信息。我知道这个功能的MATLAB中,做正是我想要的:imfinfo()
。但我在 python 中找不到对应物。
需要明确的是,这就是我使用 matlab 得到的结果:
FileModDate: '20-Oct-2017 09:42:24'
FileSize: 1311798
Format: 'bmp'
FormatVersion: 'Version 3 (Microsoft Windows 3.x)'
Width: 1280
Height: 1024
BitDepth: 8
ColorType: 'indexed'
FormatSignature: 'BM'
NumColormapEntries: 256
Colormap: [256x3 double]
RedMask: []
GreenMask: []
BlueMask: []
ImageDataOffset: 1078
BitmapHeaderSize: 40
NumPlanes: 1
CompressionType: 'none'
BitmapSize: 1310720
HorzResolution: 0
VertResolution: 0
NumColorsUsed: 256
NumImportantColors: 0
Run Code Online (Sandbox Code Playgroud) 我正在 Maya 中构建一个 UI,当单击按钮时将生成一堆水平布局,其中包含QScrollArea
. 我想弄清楚如何让每一行识别单击/双击。当单击特定行时,我希望它返回被单击的小部件,以便我可以用它做一些事情。我想我可能必须将容器小部件附加到行布局才能识别鼠标点击?
我已经弄清楚了一般如何识别单击和双击并让它打印一些东西 - 但我很难弄清楚如何将它链接到一个小部件。
我在转换日期时间时遇到问题。
这是我的代码:
@api.multi
def action_confirm(self):
if picking.state not in ['cancel', 'draft']:
for schedule_delivery in sorted_key:
print "line 105: ", schedule_delivery
dup_picking = picking.copy()
if shift == "afternoon":
date_object = datetime.strptime(schedule_delivery, '%Y-%m-%d')
print "Line 146", date_object
# raise EnvironmentError
tanggal = datetime.strftime(date_object, "%Y-%m-%d") + ' 06:00:00'
print "Line 145", tanggal
dup_picking.min_date = tanggal
else:
dup_picking.min_date = schedule_delivery
Run Code Online (Sandbox Code Playgroud)
错误:
date_object = datetime.strptime(schedule_delivery, '%Y-%m-%d')
File "/usr/lib/python2.7/_strptime.py", line 328, in _strptime
data_string[found.end():])
ValueError: unconverted data remains: 00:00:00
Run Code Online (Sandbox Code Playgroud) 我正在使用基于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)
因此,在将项目放入单元格时,我正在尝试根据文档进行对齐。问题是没有显示数据。
当我删除setTextAlignment方法时,它确实显示了,如下所示
item = QTableWidgetItem(scraped_age)
self.tableWidget.setItem(x, 2,item)
Run Code Online (Sandbox Code Playgroud)
如何更改列排序行为,而不是像这样按字母顺序排序:
1、11.1、2、22.2、3 等
它将按数字排序,如下所示:
1、2、3、11.1、22.2 等
我需要仅更改特定列上的排序行为,而不是整个表上的排序行为,因为我想保持名称的正常字母顺序。
我还有一个包含文件大小的列。它们以 MB 和 GB 表示,我想对其进行排序,以便 800 MB 排在前面,1.4 GB 排在后面。它还存在字母排序的问题。有没有一种方法可以做到这一点?
我已经弄清楚当窗口发生变化时如何触发事件,但是这种情况发生在我从数据库中读取窗口信息时,我想在窗口缩小时写入数据库,所以,我想触发我的事件基于单击缩小按钮而不是窗口更改的任何时间.
当我将鼠标悬停在我的QTableWidget项目上时,我想要做的是更改QTableWidget项目的颜色.
在Python Qt中,我将一个QListWidget信号连接到一个插槽,如下所示:
QtCore.QObject.connect(self.myList, QtCore.SIGNAL("itemClicked(QListWidgetItem *)"), self.ListEventHandler)
Run Code Online (Sandbox Code Playgroud)
我的问题是:尾随星号的作用是QListWidgetItem *
什么?
我在表格视图中正确调整行大小时遇到一个小问题。我有一个垂直标题,没有水平标题。我试过:
self.Popup.table.setModel(notesTableModel(datainput))
self.Popup.table.horizontalHeader().setVisible(False)
self.Popup.table.verticalHeader().setFixedWidth(200)
for n in xrange(self.Popup.table.model().columnCount()):
self.Popup.table.setColumnWidth(n,150)
Run Code Online (Sandbox Code Playgroud)
这工作得很好,但是当我尝试时:
for n in xrange(self.Popup.table.model().rowCount()):
self.Popup.table.setRowHeight(n,100)
Run Code Online (Sandbox Code Playgroud)
或者
for n in xrange(self.Popup.table.model().rowCount()):
self.Popup.table.resizeRowToContents(n)
Run Code Online (Sandbox Code Playgroud)
即使文本超过单元格的长度,也不会调整行的大小。
如何强制行适合数据?
python ×10
pyqt ×5
qtablewidget ×4
pyqt4 ×3
pyqt5 ×2
qt ×2
alignment ×1
bmp ×1
file-header ×1
image ×1
keyboard ×1
minimize ×1
mouseevent ×1
mousehover ×1
openerp ×1
pyside ×1
qtableview ×1
resize ×1
sorting ×1
tab-ordering ×1