如何在Python的新选项卡中显示图像
假设我在一个目录中有10个图像,并且需要在用户按下按钮后将它们显示在新创建的选项卡中。图像必须按照5x5网格显示,并带有适当的图像标签 我使用Qt Designer设计了一个GUI,其中包含三个不同的选项卡(tab1、tab2和tab3),但这似乎对我不起作用-图像不会显示在tab3中。如何使用命令行编码而不是使用Qt设计器来显示所有图像 以下是显示图像的功能:如何在Python的新选项卡中显示图像,python,image,user-interface,tabs,pyqt,Python,Image,User Interface,Tabs,Pyqt,假设我在一个目录中有10个图像,并且需要在用户按下按钮后将它们显示在新创建的选项卡中。图像必须按照5x5网格显示,并带有适当的图像标签 我使用Qt Designer设计了一个GUI,其中包含三个不同的选项卡(tab1、tab2和tab3),但这似乎对我不起作用-图像不会显示在tab3中。如何使用命令行编码而不是使用Qt设计器来显示所有图像 以下是显示图像的功能: # Display image at 'Tab 3' once user press button 'Display' def dis
# Display image at 'Tab 3' once user press button 'Display'
def display_result(self):
# Get wafer qty
qty = int(self.qty_selected)
print('qty -> ' + str(qty))
# Get lot id
name = str(self.lotId)
print ('lotId -> ' + str(name))
for index in range(int(qty)):
pixmap = QtGui.QPixmap()
path = r'c:\Users\mohd_faizal4\Desktop\Python\Testing\%s\%s_%d.jpeg' % (name, name, index + 1)
print('load (%s) %r' % (pixmap.load(path), path))
item = QtGui.QListWidgetItem(os.path.basename(path))
item.setIcon(QtGui.QIcon(path))
self.viewer.addItem(item)
contents = QtGui.QWidget(self.tabWidget)
layout = QtGui.QVBoxLayout(contents)
self.tabWidget.addTab(contents, 'Tab 4')
我想显示“选项卡4”中的所有图像,而不是打开另一个窗口
通过在选项卡中创建标签,您可以轻松地在选项卡内显示图像,下面是一个示例:(我示例中的选项卡是tab_3)
def setupUi(self,主窗口):
self.label=qtwidts.QLabel(self.tab_3)
self.label.setGeometry(QtCore.QRect(340,30241171))
self.label.setText(“”)
self.label_181.setPixmap(QtGui.QPixmap(“images/A_01.png”))
self.label.setScaledContents(True)
self.label.setObjectName(“label”)
因此,在这里您将在选项卡中获得图像。我希望这将对您有所帮助。您需要为每个选项卡创建一个新的列表小部件。下面是一个演示:
import sys, os
from PyQt4 import QtCore, QtGui
class Window(QtGui.QWidget):
def __init__(self):
super(Window, self).__init__()
self.tabs = QtGui.QTabWidget(self)
self.edit = QtGui.QLineEdit(self)
self.button = QtGui.QPushButton('New Tab', self)
self.button.clicked.connect(self.createNewTab)
layout = QtGui.QGridLayout(self)
layout.addWidget(self.tabs, 0, 0, 1, 2)
layout.addWidget(self.edit, 1, 0)
layout.addWidget(self.button, 1, 1)
def createNewTab(self):
viewer = QtGui.QListWidget(self)
viewer.setViewMode(QtGui.QListView.IconMode)
viewer.setIconSize(QtCore.QSize(256, 256))
viewer.setResizeMode(QtGui.QListView.Adjust)
viewer.setSpacing(10)
name = self.edit.text()
for index in range(5):
pixmap = QtGui.QPixmap()
path = r'c:\Users\mohd_faizal4\Desktop\Python\Testing\%s\%s_%d.jpeg' % (name, name, index + 1)
print('load (%s) %r' % (pixmap.load(path), path))
item = QtGui.QListWidgetItem(os.path.basename(path))
item.setIcon(QtGui.QIcon(path))
viewer.addItem(item)
index = self.tabs.count()
self.tabs.addTab(viewer, 'Tab%d' % (index + 1))
self.tabs.setCurrentIndex(index)
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
window = Window()
window.setGeometry(800, 150, 650, 500)
window.show()
sys.exit(app.exec_())
如果您正在使用qt并询问有关qt的信息,我建议您使用一些qt标记…已经更新标记以包括PyQT这太开放了。显示您尝试过的代码,并指出在此代码中您没有得到预期结果的地方。我已更新问题并详细说明问题。对不起,我英语不好。我很想帮忙,但你的问题不清楚。您提到无法在选项卡3中显示图像,但随后您谈到了选项卡4。请记住,我们对您的申请一无所知。简单一点:只把问题的关键放在这里。例如,选项卡1和2似乎与问题无关。复制您的应用程序代码,然后删除所有不重要但仍会重现问题的内容。然后发布代码,包括ui文件,以便我们可以将其复制到IDE中并运行它。如果我需要在grid view 5x5的“内部标签”选项卡中显示多个图像,如何?我对Python编程非常陌生。在选项卡中创建多个标签,然后设置每个标签的几何图形以避免干扰,并在每个标签中加载一张图片。