def __init__(self, plugin): super(Parameters, self).__init__(plugin) self.plugin = plugin box = QtGui.QVBoxLayout(self) # Button to refresh button = QtGui.QPushButton(QtGui.QIcon.fromTheme("view-refresh"), "Refresh list", self) button.connect("clicked()", self.refresh) box.addWidget(button) # Table view to show the parameters self.tableWidget = QtGui.QTableWidget() #self.tableWidget.setColumnCount(3) #self.tableWidget.setHorizontalHeaderLabels(("Name", "Description", "Value")) self.tableWidget.setColumnCount(3) self.tableWidget.setHorizontalHeaderLabels(("Name", "Value", "Type")) box.addWidget(self.tableWidget)
def setupUi(self): #set Main Window Title. self.setWindowTitle("xg Texture Exporter") self.setObjectName("xgTextureExportGUI") self.setEnabled(True) self.resize(545, 702) ##===================================== CentralLayout ============================ self.centralwidget = QtGui.QWidget() self.centralwidget.setObjectName("centralwidget") ##===================================== MasterLayout ============================ self.master_GridLayout = QtGui.QGridLayout(self.centralwidget) self.master_GridLayout.setObjectName("master_GridLayout") ##===================================== TopLayout ============================ self.top_GridLayout = QtGui.QGridLayout() self.top_GridLayout.setObjectName("top_GridLayout") ##=======exportPathLine======## self.exportPathLineEdit = QtGui.QLineEdit(self.centralwidget) self.exportPathLineEdit.setMinimumSize(QtCore.QSize(0, 30)) self.exportPathLineEdit.setObjectName("exportPathLineEdit") self.top_GridLayout.addWidget(self.exportPathLineEdit, 2, 0, 1, 1) ##=======FolderLable=======## self.outputFolderLabel = QtGui.QLabel("Output Folder", self.centralwidget) setBold(self.outputFolderLabel) self.outputFolderLabel.setObjectName("outputFolderLabel") self.top_GridLayout.addWidget(self.outputFolderLabel, 0, 0, 1, 1) ##=======BrowseButton=======## self.browseButton = xgPushButton("browseButton", "Browse", 0, "Choose texture output directory.") self.browseButton.setMinimumSize(QtCore.QSize(0, 30)) self.top_GridLayout.addWidget(self.browseButton, 2, 1, 1, 1) self.master_GridLayout.addLayout(self.top_GridLayout, 0, 0, 1, 1) ##===================================== MidLayout ============================ self.mid_HBoxLayout = QtGui.QHBoxLayout() self.mid_HBoxLayout.setObjectName("mid_HBoxLayout") self.midLeft_GridLayout = QtGui.QGridLayout() self.midLeft_GridLayout.setObjectName("midLeft_GridLayout") ##=======channelsLable=======## self.channels_Label = QtGui.QLabel("Channels", self.centralwidget) setBold(self.channels_Label) self.channels_Label.setObjectName("channels_Label") self.midLeft_GridLayout.addWidget(self.channels_Label, 0, 0, 1, 1) ##=======ChannelButtons=======## self.removeChannel_Button = xgPushButton( "removeChannel_Button", "-", 0, "remove selected channels from export list.") self.removeChannel_Button.setMinimumSize(QtCore.QSize(0, 45)) self.addChannel_Button = xgPushButton( "addChannel_Button", "+", 0, "add selected channels to export list.") self.addChannel_Button.setMinimumSize(QtCore.QSize(0, 45)) self.midLeft_GridLayout.addWidget(self.addChannel_Button, 2, 0, 1, 1) self.midLeft_GridLayout.addWidget(self.removeChannel_Button, 2, 1, 1, 1) ##=======ChannelList=======## self.channelsList_ListWidget = ChannelsToExportList() self.channelsList_ListWidget.isSortingEnabled() self.channelsList_ListWidget.setSortingEnabled(False) self.channelsList_ListWidget.setObjectName("channelsList_ListWidget") QtGui.QListWidgetItem(self.channelsList_ListWidget) self.midLeft_GridLayout.addWidget(self.channelsList_ListWidget, 1, 0, 1, 2) self.mid_HBoxLayout.addLayout(self.midLeft_GridLayout) self.options_GroupBox = QtGui.QGroupBox("Options", self.centralwidget) self.options_GroupBox.setObjectName("options_GroupBox") self.outputFormat_Label = QtGui.QLabel("Output Format :", self.options_GroupBox) self.outputFormat_Label.setGeometry(QtCore.QRect(20, 40, 121, 21)) self.outputFormat_Label.setObjectName("outputFormat_Label") self.resolution_Label = QtGui.QLabel("Resolution:", self.options_GroupBox) self.resolution_Label.setGeometry(QtCore.QRect(20, 70, 121, 21)) self.resolution_Label.setObjectName("resolution_Label") self.processTextures_Label = QtGui.QLabel("process textures:", self.options_GroupBox) self.processTextures_Label.setGeometry(QtCore.QRect(20, 130, 121, 21)) self.processTextures_Label.setObjectName("processTextures_Label") ##=======Options=======## self.outFormat_ComboBox = QtGui.QComboBox(self.options_GroupBox) self.outFormat_ComboBox.setToolTip("define output texture format.") self.outFormat_ComboBox.setGeometry(QtCore.QRect(130, 40, 81, 25)) self.outFormat_ComboBox.setEditable(False) self.outFormat_ComboBox.setObjectName("outFormat_ComboBox") self.outFormat_ComboBox.addItem("exr") self.outFormat_ComboBox.addItem("tif") self.outFormat_ComboBox.setCurrentIndex(1) self.resolution_ComboBox = QtGui.QComboBox(self.options_GroupBox) self.resolution_ComboBox.setToolTip( "define output texture resolution.") self.resolution_ComboBox.setGeometry(QtCore.QRect(100, 70, 111, 25)) self.resolution_ComboBox.setObjectName("resolution_ComboBox") self.resolution_ComboBox.addItem("channel res") self.resolution_ComboBox.addItem("full (8K)") self.resolution_ComboBox.addItem("heigh (4K)") self.resolution_ComboBox.addItem("mid (2K)") self.resolution_ComboBox.addItem("low (1K)") self.clearExpChan_CheckBox = QtGui.QCheckBox("Clear export channels", self.options_GroupBox) self.clearExpChan_CheckBox.setGeometry(QtCore.QRect(20, 100, 181, 23)) self.clearExpChan_CheckBox.setChecked(True) self.clearExpChan_CheckBox.setObjectName("clearExpChan_CheckBox") self.clearExpChan_CheckBox.setToolTip( "delete the flattened channels after export.") self.processTextures_ComboBox = QtGui.QComboBox(self.options_GroupBox) self.processTextures_ComboBox.setToolTip( "define textures processing method.") self.processTextures_ComboBox.setGeometry( QtCore.QRect(135, 130, 105, 25)) self.processTextures_ComboBox.setObjectName("processTextures_ComboBox") self.processTextures_ComboBox.addItem("None") self.processTextures_ComboBox.addItem("Local process") #self.processTextures_ComboBox.addItem("Farm process") #self.texturePublish_CheckBox = QtGui.QCheckBox("Publish farm Textures", self.options_GroupBox) #self.texturePublish_CheckBox.setToolTip("process textures on the farm via texturePublish. \n (convert only will not publish.)") #self.texturePublish_CheckBox.setGeometry(QtCore.QRect(20, 160, 181, 23)) #self.texturePublish_CheckBox.setCheckable(False) #self.texturePublish_CheckBox.setObjectName("texturePublish_CheckBox") ''' self.linear_CheckBox = QtGui.QCheckBox("Local process textures.", self.options_GroupBox) self.linear_CheckBox.setToolTip("convert textures to Mipmap exr localy.") self.linear_CheckBox.setGeometry(QtCore.QRect(20, 130, 181, 23)) #self.linear_CheckBox.setChecked(True) self.linear_CheckBox.setObjectName("linear_CheckBox") self.publish_CheckBox = QtGui.QCheckBox("Publish After Export", self.options_GroupBox) self.publish_CheckBox.setGeometry(QtCore.QRect(20, 190, 181, 23)) self.publish_CheckBox.setCheckable(False) self.publish_CheckBox.setObjectName("publish_CheckBox") ''' self.mid_HBoxLayout.addWidget(self.options_GroupBox) self.master_GridLayout.addLayout(self.mid_HBoxLayout, 1, 0, 1, 1) self.bottom_VBoxLayout = QtGui.QVBoxLayout() self.bottom_VBoxLayout.setObjectName("bottom_VBoxLayout") self.exportChannels_Label = QtGui.QLabel("Channels For Export", self.centralwidget) self.exportChannels_Label.setObjectName("exportChannels_Label") setBold(self.exportChannels_Label) self.bottom_VBoxLayout.addWidget(self.exportChannels_Label) ##======table=======## self.exportChannelsList_tableWidget = QtGui.QTableWidget( self.centralwidget) self.exportChannelsList_tableWidget.setWordWrap(True) self.exportChannelsList_tableWidget.setCornerButtonEnabled(True) #self.exportChannelsList_tableWidget.setRowCount(2) self.exportChannelsList_tableWidget.setObjectName( "exportChannelsList_tableWidget") self.exportChannelsList_tableWidget.setColumnCount(5) self.exportChannelsList_tableWidget.setRowCount(0) self.exportChannelsList_tableWidget.setSelectionBehavior( QtGui.QAbstractItemView.SelectRows) self.exportChannelsList_tableWidget.setSelectionMode( QtGui.QAbstractItemView.SingleSelection) self.exportChannelsList_tableWidget.horizontalHeader().setVisible(True) self.exportChannelsList_tableWidget.horizontalHeader( ).setCascadingSectionResizes(False) self.exportChannelsList_tableWidget.horizontalHeader( ).setMinimumSectionSize(25) self.exportChannelsList_tableWidget.horizontalHeader( ).setSortIndicatorShown(False) #self.exportChannelsList_tableWidget.horizontalHeader().setStretchLastSection(True) self.exportChannelsList_tableWidget.verticalHeader( ).setCascadingSectionResizes(False) self.exportChannelsList_tableWidget.verticalHeader( ).setDefaultSectionSize(28) self.exportChannelsList_tableWidget.verticalHeader( ).setMinimumSectionSize(10) self.itemLine0 = QtGui.QLineEdit("channel") self.item0 = QtGui.QTableWidgetItem(self.itemLine0.text) self.exportChannelsList_tableWidget.setHorizontalHeaderItem( 0, self.item0) self.itemLine1 = QtGui.QLineEdit("type") self.item1 = QtGui.QTableWidgetItem(self.itemLine1.text) self.exportChannelsList_tableWidget.setHorizontalHeaderItem( 1, self.item1) self.itemLine2 = QtGui.QLineEdit("version") self.item2 = QtGui.QTableWidgetItem(self.itemLine2.text) self.exportChannelsList_tableWidget.setHorizontalHeaderItem( 2, self.item2) self.itemLine3 = QtGui.QLineEdit("non_color") self.item3 = QtGui.QTableWidgetItem(self.itemLine3.text) self.exportChannelsList_tableWidget.setHorizontalHeaderItem( 3, self.item3) self.itemLine4 = QtGui.QLineEdit("variation") self.item4 = QtGui.QTableWidgetItem(self.itemLine4.text) self.exportChannelsList_tableWidget.setHorizontalHeaderItem( 4, self.item4) self.exportChannelsList_tableWidget.horizontalHeader( ).setCascadingSectionResizes(False) self.bottom_VBoxLayout.addWidget(self.exportChannelsList_tableWidget) self.exportButton_HBoxLayout = QtGui.QHBoxLayout() self.exportButton_HBoxLayout.setObjectName("exportButton_HBoxLayout") self.cancel_Button = xgPushButton("cancel_Button", "Cancel", 1) self.cancel_Button.setMinimumSize(QtCore.QSize(0, 45)) self.exportButton_HBoxLayout.addWidget(self.cancel_Button) self.exportPatch_Button = xgPushButton("exportPatch_Button", "Export Selected Patches", 1) self.exportPatch_Button.setMinimumSize(QtCore.QSize(200, 45)) self.exportButton_HBoxLayout.addWidget(self.exportPatch_Button) self.export_Button = xgPushButton("export_Button", "Export", 0) self.export_Button.setMinimumSize(QtCore.QSize(200, 45)) self.exportButton_HBoxLayout.addWidget(self.export_Button) self.bottom_VBoxLayout.addLayout(self.exportButton_HBoxLayout) self.master_GridLayout.addLayout(self.bottom_VBoxLayout, 2, 0, 1, 1) self.setLayout(self.master_GridLayout)
channelToMsg[channel] = lcmspy.getMessageTypeFullName(msgType) if msgType else '<unknown msg type>' if timer.elapsed() > 3: printStats() timer.reset() for stat in list(stats.values()): stat.reset() #msg = lcmspy.decodeMessage(messageData) sub = lcmUtils.addSubscriber(channel='.+', callback=onMessage) sub.setNotifyAllMessagesEnabled(True) from PythonQt import QtGui, QtCore table = QtGui.QTableWidget() table.setColumnCount(3) table.setHorizontalHeaderLabels(['channel', 'type', 'bandwidth']) table.verticalHeader().setVisible(False) table.show() app.start()
def initGUI(self): self.twiHeadersList = [] self.twiHash = {} self.setWindowTitle("Plugin Manager") # Plugin Table layout = QtGui.QVBoxLayout() self.setLayout(layout) self.pluginDirLabel = QtGui.QLabel(self.PLUGIN_DIR_LABEL_PREFIX) layout.addWidget(self.pluginDirLabel) self.panelSplit = QtGui.QSplitter() self.panelSplit.setOrientation(Qt.Qt.Vertical) layout.addWidget(self.panelSplit) pluginsGroupBox = QtGui.QGroupBox("Plugins") self.panelSplit.addWidget(pluginsGroupBox) pluginsLayout = QtGui.QVBoxLayout() pluginsGroupBox.setLayout(pluginsLayout) self.tableSplit = QtGui.QSplitter() self.tableSplit.setOrientation(Qt.Qt.Horizontal) pluginsLayout.addWidget(self.tableSplit) self.pluginTable = QtGui.QTableWidget() self.tableSplit.addWidget(self.pluginTable) self.setTableHeaders(self.pluginTable, self.PLUGIN_COLUMN_NAMES) self.pluginTable.cellClicked.connect(self.pluginTableCellClicked) self.pluginTable.cellDoubleClicked.connect( self.pluginTableCellDoubleClicked) self.finalizeTable(self.pluginTable) self.metaDataTable = QtGui.QTableWidget() self.tableSplit.addWidget(self.metaDataTable) self.setTableHeaders(self.metaDataTable, ["Key", "Value"]) self.finalizeTable(self.metaDataTable) # Action actionLayout = QtGui.QHBoxLayout() pluginsLayout.addLayout(actionLayout) reloadButton = QtGui.QPushButton("Re-evaluate") reloadButton.clicked.connect(self.reloadButtonClicked) actionLayout.addWidget(reloadButton) refreshButton = QtGui.QPushButton("Refresh") refreshButton.clicked.connect(self.refreshButtonClicked) actionLayout.addWidget(refreshButton) updateAllButton = QtGui.QPushButton("Update All") updateAllButton.clicked.connect(self.updateAllButtonClicked) actionLayout.addWidget(updateAllButton) updateSelectedButton = QtGui.QPushButton("Update Selected") updateSelectedButton.clicked.connect(self.updateSelectedButtonClicked) actionLayout.addWidget(updateSelectedButton) # Log logGroupBox = QtGui.QGroupBox("Log") self.panelSplit.addWidget(logGroupBox) logLayout = QtGui.QVBoxLayout() logGroupBox.setLayout(logLayout) self.logTable = QtGui.QTableWidget() logLayout.addWidget(self.logTable) self.setTableHeaders(self.logTable, ["Date/Time", "Title", "Text"]) self.finalizeTable(self.logTable) # Options optionsGroupBox = QtGui.QGroupBox("Options") self.panelSplit.addWidget(optionsGroupBox) optionsLayout = QtGui.QVBoxLayout() optionsGroupBox.setLayout(optionsLayout) urlLayout = QtGui.QHBoxLayout() optionsLayout.addLayout(urlLayout) urlLayout.addWidget(QtGui.QLabel("Repo List URL")) self.repoLineEdit = QtGui.QLineEdit() urlLayout.addWidget(self.repoLineEdit) mostOptionsLayout = QtGui.QHBoxLayout() optionsLayout.addLayout(mostOptionsLayout) self.quietModeCheckBox = QtGui.QCheckBox("Quiet") mostOptionsLayout.addWidget(self.quietModeCheckBox) self.offlineModeCheckBox = QtGui.QCheckBox("Offline") self.offlineModeCheckBox.stateChanged.connect( self.offlineModeCheckBoxChanged) mostOptionsLayout.addWidget(self.offlineModeCheckBox) self.overwriteSameCheckBox = QtGui.QCheckBox("Overwrite Same Version") mostOptionsLayout.addWidget(self.overwriteSameCheckBox) pluginDirButton = QtGui.QPushButton("Plugin Dir") pluginDirButton.clicked.connect(self.pluginDirButtonClicked) mostOptionsLayout.addWidget(pluginDirButton) self.clearLogButton = QtGui.QPushButton("Clear Log") self.clearLogButton.clicked.connect(self.clearLogButtonClicked) mostOptionsLayout.addWidget(self.clearLogButton) self.saveLogButton = QtGui.QPushButton("Save Log") self.saveLogButton.clicked.connect(self.saveLogButtonClicked) mostOptionsLayout.addWidget(self.saveLogButton) defaultsButton = QtGui.QPushButton("Defaults") defaultsButton.clicked.connect(self.defaultsButtonClicked) mostOptionsLayout.addWidget(defaultsButton) helpButton = QtGui.QPushButton("Help") helpButton.clicked.connect(self.helpButtonClicked) mostOptionsLayout.addWidget(helpButton) # Show self.setWindowFlags(Qt.Qt.Window) self.show() Qt.QApplication.processEvents() self.resize(self.size) return