def __init__(self, label, first=True): super(ComboBox, self).__init__(label, first) self.items = list() self.comboBox = QtWidgets.QComboBox() self.comboBox.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) self.currentIndexChanged = self.comboBox.currentIndexChanged self.layout.addWidget(self.comboBox)
def setupUi(self, BugReport): BugReport.setObjectName("BugReport") BugReport.setWindowModality(QtCore.Qt.NonModal) BugReport.resize(450, 20) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(BugReport.sizePolicy().hasHeightForWidth()) BugReport.setSizePolicy(sizePolicy) BugReport.setMinimumSize(QtCore.QSize(25, 0)) BugReport.setBaseSize(QtCore.QSize(0, 0)) BugReport.setContentsMargins(-1, -1, -1,-1) BugReport.setStyleSheet("") self.gridLayout = QtWidgets.QGridLayout(BugReport) self.gridLayout.setContentsMargins(-1, -1, -1, -1) self.gridLayout.setSpacing(0) self.gridLayout.setObjectName("gridLayout") self.verticalLayout_4 = QtWidgets.QVBoxLayout() self.verticalLayout_4.setObjectName("verticalLayout_4") self.secondrow = QtWidgets.QHBoxLayout() self.secondrow.setObjectName("secondrow") self.title = QtWidgets.QLineEdit(BugReport) self.title.setMinimumSize(QtCore.QSize(175, 0)) self.title.setObjectName("title") self.secondrow.addWidget(self.title) self.verticalLayout_4.addLayout(self.secondrow) self.thirdrow = QtWidgets.QHBoxLayout() self.thirdrow.setObjectName("thirdrow") spacerItem1 = QtWidgets.QSpacerItem(40, 25, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) self.thirdrow.addItem(spacerItem1) self.label_cbox = QtWidgets.QComboBox(BugReport) self.label_cbox.setObjectName("label_cbox") self.label_cbox.setLayoutDirection(QtCore.Qt.LeftToRight) self.label_cbox.setMaximumSize(QtCore.QSize(100, 25)) self.label_cbox.addItem("Bug") self.label_cbox.addItem("Suggestion") self.label_cbox.addItem("Question") self.thirdrow.addWidget(self.label_cbox) spacerItem1 = QtWidgets.QSpacerItem(5, 30, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) self.thirdrow.addItem(spacerItem1) self.edittitle_btn = QtWidgets.QPushButton(BugReport) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.edittitle_btn.sizePolicy().hasHeightForWidth()) self.edittitle_btn.setSizePolicy(sizePolicy) self.edittitle_btn.setMaximumSize(QtCore.QSize(75, 16777215)) self.edittitle_btn.setObjectName("edittitle") self.thirdrow.addWidget(self.edittitle_btn) self.verticalLayout_4.addLayout(self.thirdrow) self.gridLayout.addLayout(self.verticalLayout_4, 0, 0, 1, 1) self.retranslateUi(BugReport) QtCore.QMetaObject.connectSlotsByName(BugReport)
def __init__(self, parent=None): # INITIALIZE GUI AND SET WINDOW TO ALWAYS ON TOP QtWidgets.QWidget.__init__(self, parent, QtCore.Qt.WindowStaysOnTopHint) # SET LAYOUTS vbox = QtWidgets.QVBoxLayout() hbox1 = QtWidgets.QHBoxLayout() # SET WINDOW ATTRIBUTES self.setGeometry(500, 300, 420, 110) self.setWindowTitle('Convert Relative File Paths to Absolute') # CREATE WIDGETS self.apply_to_label = QtWidgets.QLabel("Nodes to Update:") self.apply_to_combo_box = QtWidgets.QComboBox(self) self.update_paths_button = QtWidgets.QPushButton('Update Paths', self) # POPULATE COMBO BOX self.apply_to_combo_box.addItem("Selected Nodes Only") self.apply_to_combo_box.addItem("All Nodes In Scene (Any Context)") self.apply_to_combo_box.addItem("All Nodes In Obj Context") self.apply_to_combo_box.addItem("Selected Nodes & Their Direct Children") self.apply_to_combo_box.addItem("Selected Nodes & All Subchildren") self.apply_to_combo_box.addItem("Only Direct Children Of Selected Nodes") self.apply_to_combo_box.addItem("Only All Subchildren Of Selected Nodes") # CONNECT BUTTONS TO FUNCTIONS self.update_paths_button.clicked.connect(self.updatePaths) # ADD WIDGETS TO LAYOUT hbox1.addWidget(self.apply_to_label) hbox1.addWidget(self.apply_to_combo_box) vbox.addLayout(hbox1) vbox.addWidget(self.update_paths_button) # SET LAYOUT self.setLayout(vbox)
def __init__(self, parent=None): # INITIALIZE GUI AND SET WINDOW TO ALWAYS ON TOP QtWidgets.QWidget.__init__(self, parent, QtCore.Qt.WindowStaysOnTopHint) # SET LAYOUTS vbox = QtWidgets.QVBoxLayout() hbox1 = QtWidgets.QHBoxLayout() hbox2 = QtWidgets.QHBoxLayout() hbox3 = QtWidgets.QHBoxLayout() hbox4 = QtWidgets.QHBoxLayout() hbox_checkboxes1 = QtWidgets.QHBoxLayout() hbox_checkboxes2 = QtWidgets.QHBoxLayout() hbox_checkboxes3 = QtWidgets.QHBoxLayout() hbox_checkboxes4 = QtWidgets.QHBoxLayout() hbox_apply_to = QtWidgets.QHBoxLayout() hbox_buttons1 = QtWidgets.QHBoxLayout() hbox_buttons2 = QtWidgets.QHBoxLayout() # SET WINDOW ATTRIBUTES self.setGeometry(500, 300, 400, 110) self.setWindowTitle('Find & Replace') # CREATE WIDGETS self.search_for_label = QtWidgets.QLabel("Search For: ") self.search_for_line_edit = QtWidgets.QLineEdit() self.replace_with_label = QtWidgets.QLabel("Replace With:") self.replace_with_line_edit = QtWidgets.QLineEdit() self.search_in_node_names_checkbox = QtWidgets.QCheckBox("Search In Node Names") self.search_in_parameters_checkbox = QtWidgets.QCheckBox("Search In Parameters") self.include_string_parms_checkbox = QtWidgets.QCheckBox("Include String Parms") self.include_float_parms_checkbox = QtWidgets.QCheckBox("Include Float Parms") self.include_expressions_checkbox = QtWidgets.QCheckBox("Include Expressions") self.select_in_viewport_checkbox = QtWidgets.QCheckBox("Select In Viewport") self.print_results_checkbox = QtWidgets.QCheckBox("Print Results") self.case_sensitive_checkbox = QtWidgets.QCheckBox("Case Sensitive") self.apply_to_label = QtWidgets.QLabel("Apply To:") self.apply_to_combo_box = QtWidgets.QComboBox(self) self.find_button = QtWidgets.QPushButton('Find', self) self.replace_button = QtWidgets.QPushButton('Replace', self) # POPULATE COMBO BOX self.apply_to_combo_box.addItem("Selected Nodes Only") self.apply_to_combo_box.addItem("Selected Nodes & Their Direct Children") self.apply_to_combo_box.addItem("Selected Nodes & All Subchildren") self.apply_to_combo_box.addItem("Only Direct Children Of Selected Nodes") self.apply_to_combo_box.addItem("Only All Subchildren Of Selected Nodes") self.apply_to_combo_box.addItem("All Nodes In Obj Context") self.apply_to_combo_box.addItem("All Nodes In Scene (Any Context)") # SET INITIAL WIDGET BEHAVIORS self.search_in_node_names_checkbox.setCheckState(QtCore.Qt.Checked) self.search_in_parameters_checkbox.setCheckState(QtCore.Qt.Unchecked) self.case_sensitive_checkbox.setCheckState(QtCore.Qt.Unchecked) self.select_in_viewport_checkbox.setCheckState(QtCore.Qt.Checked) self.print_results_checkbox.setCheckState(QtCore.Qt.Unchecked) self.include_string_parms_checkbox.setCheckState(QtCore.Qt.Checked) self.include_float_parms_checkbox.setCheckState(QtCore.Qt.Checked) self.include_expressions_checkbox.setCheckState(QtCore.Qt.Checked) self.include_string_parms_checkbox.setEnabled(False) self.include_float_parms_checkbox.setEnabled(False) self.include_expressions_checkbox.setEnabled(False) # WATCH WIDGETS FOR STATECHANGE self.search_for_line_edit.textChanged.connect(self.lineEditChanged) self.replace_with_line_edit.textChanged.connect(self.lineEditChanged) self.search_in_parameters_checkbox.stateChanged.connect(self.searchInParametersCheckboxChanged) self.search_in_node_names_checkbox.stateChanged.connect(self.searchInNodeNamesCheckboxChanged) self.include_string_parms_checkbox.stateChanged.connect(self.includeCheckboxChanged) self.include_float_parms_checkbox.stateChanged.connect(self.includeCheckboxChanged) self.include_expressions_checkbox.stateChanged.connect(self.includeCheckboxChanged) self.print_results_checkbox.stateChanged.connect(self.printResultsUnchecked) self.select_in_viewport_checkbox.stateChanged.connect(self.selectInViewportUnchecked) self.apply_to_combo_box.currentIndexChanged.connect(self.comboBoxIndexChanged) # CONNECT BUTTONS TO FUNCTIONS self.find_button.clicked.connect(self.locate) self.replace_button.clicked.connect(self.locateAndReplace) # ADD WIDGETS TO LAYOUT hbox1.addWidget(self.search_for_label) hbox1.addWidget(self.search_for_line_edit) hbox2.addWidget(self.replace_with_label) hbox2.addWidget(self.replace_with_line_edit) vbox.addLayout(hbox1) vbox.addLayout(hbox2) vbox.addLayout(hbox3) vbox.addLayout(hbox4) hbox_checkboxes1.addWidget(self.search_in_node_names_checkbox) hbox_checkboxes1.addWidget(self.search_in_parameters_checkbox) hbox_checkboxes2.addWidget(self.case_sensitive_checkbox) hbox_checkboxes2.addWidget(self.include_string_parms_checkbox) hbox_checkboxes3.addWidget(self.select_in_viewport_checkbox) hbox_checkboxes3.addWidget(self.include_float_parms_checkbox) hbox_checkboxes4.addWidget(self.print_results_checkbox) hbox_checkboxes4.addWidget(self.include_expressions_checkbox) vbox.addLayout(hbox_checkboxes1) vbox.addLayout(hbox_checkboxes2) vbox.addLayout(hbox_checkboxes3) vbox.addLayout(hbox_checkboxes4) hbox_apply_to.addWidget(self.apply_to_label) hbox_apply_to.addWidget(self.apply_to_combo_box) vbox.addLayout(hbox_apply_to) hbox_buttons1.addWidget(self.find_button) hbox_buttons1.addWidget(self.replace_button) vbox.addLayout(hbox_buttons1) # SET LAYOUT self.setLayout(vbox)
def setupUi(self, SearcherSettings, width, height, animated): self.width = width self.height = height self.animated = animated SearcherSettings.setObjectName("SearcherSettings") SearcherSettings.setWindowModality(QtCore.Qt.NonModal) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( SearcherSettings.sizePolicy().hasHeightForWidth()) SearcherSettings.setSizePolicy(sizePolicy) SearcherSettings.setMinimumSize(QtCore.QSize(width, height)) SearcherSettings.setBaseSize(QtCore.QSize(0, 0)) self.gridLayout = QtWidgets.QGridLayout(SearcherSettings) self.gridLayout.setContentsMargins(-1, -1, -1, -1) self.gridLayout.setObjectName("gridLayout") self.verticallayout = QtWidgets.QVBoxLayout() self.verticallayout.setObjectName("verticalLayout") self.verticallayout.setSpacing(10) # ------------------------------------------------- headerrow # NOTE headerrow -------------------------------------------- self.headerrow = QtWidgets.QHBoxLayout() self.headerrow.setObjectName("headerrow") self.projectTitle = QtWidgets.QLabel(SearcherSettings) font = QtGui.QFont() font.setPointSize(15) self.projectTitle.setFont(font) self.projectTitle.setAlignment(QtCore.Qt.AlignCenter) self.projectTitle.setObjectName("projectTitle") self.headerrow.addWidget(self.projectTitle) spaceritem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.headerrow.addItem(spaceritem) self.animatedsettings_chk = QtWidgets.QCheckBox(SearcherSettings) self.animatedsettings_chk.setLayoutDirection(QtCore.Qt.RightToLeft) self.animatedsettings_chk.setObjectName("animatedsettings_chk") self.headerrow.addWidget(self.animatedsettings_chk) self.windowsize_chk = QtWidgets.QCheckBox(SearcherSettings) self.windowsize_chk.setLayoutDirection(QtCore.Qt.RightToLeft) self.windowsize_chk.setObjectName("windowsize_chk") self.headerrow.addWidget(self.windowsize_chk) self.verticallayout.addLayout(self.headerrow) self.line = QtWidgets.QFrame(SearcherSettings) self.line.setFrameShape(QtWidgets.QFrame.HLine) self.line.setFrameShadow(QtWidgets.QFrame.Sunken) self.line.setObjectName("line") self.verticallayout.addWidget(self.line) # ------------------------------------------------- secondrow # NOTE Second Row ------------------------------------------- self.secondrow = QtWidgets.QHBoxLayout() self.secondrow.setObjectName("secondrow") # self.lang_cbox = QtWidgets.QComboBox(SearcherSettings) # self.lang_cbox.setObjectName("lang_cbox") # self.lang_cbox.addItem("") # self.secondrow.addWidget(self.lang_cbox) spaceritem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.secondrow.addItem(spaceritem) self.maxresults_lbl = QtWidgets.QLabel(SearcherSettings) self.maxresults_lbl.setObjectName("maxresults_lbl") self.secondrow.addWidget(self.maxresults_lbl) self.maxresults_txt = QtWidgets.QSpinBox(SearcherSettings) self.maxresults_txt.setMinimum(1) self.maxresults_txt.setMaximum(9999) self.maxresults_txt.setObjectName("maxresults_txt") self.secondrow.addWidget(self.maxresults_txt) self.inmemory_chk = QtWidgets.QCheckBox(SearcherSettings) self.inmemory_chk.setLayoutDirection(QtCore.Qt.RightToLeft) self.inmemory_chk.setTristate(False) self.inmemory_chk.setObjectName("inmemory_chk") self.secondrow.addWidget(self.inmemory_chk) self.verticallayout.addLayout(self.secondrow) # -------------------------------------------------- thirdrow # NOTE Third Row -------------------------------------------- self.thirdrow = QtWidgets.QHBoxLayout() self.thirdrow.setObjectName("thirdrow") self.defaulthotkey_lbl = QtWidgets.QLabel(SearcherSettings) self.defaulthotkey_lbl.setObjectName("defaulthotkey_lbl") self.thirdrow.addWidget(self.defaulthotkey_lbl) self.defaulthotkey_txt = QtWidgets.QLineEdit(SearcherSettings) self.defaulthotkey_txt.setToolTip("") self.defaulthotkey_txt.setReadOnly(True) self.defaulthotkey_txt.setObjectName("defaulthotkey_txt") self.thirdrow.addWidget(self.defaulthotkey_txt) self.hotkey_icon = QtWidgets.QToolButton(SearcherSettings) self.hotkey_icon.setPopupMode(QtWidgets.QToolButton.InstantPopup) self.hotkey_icon.setObjectName("hotkey_icon") self.thirdrow.addWidget(self.hotkey_icon) self.verticallayout.addLayout(self.thirdrow) # ------------------------------------------------- fourthrow # NOTE Fourth Row ------------------------------------------- self.fourthrow = QtWidgets.QHBoxLayout() self.fourthrow.setObjectName("fourthrow") self.dbpath_lbl = QtWidgets.QLabel(SearcherSettings) self.dbpath_lbl.setObjectName("dbpath_lbl") self.fourthrow.addWidget(self.dbpath_lbl) self.databasepath_txt = QtWidgets.QLineEdit(SearcherSettings) self.databasepath_txt.setObjectName("databasepath_txt") self.fourthrow.addWidget(self.databasepath_txt) self.dbpath_icon = QtWidgets.QToolButton(SearcherSettings) self.dbpath_icon.setObjectName("dbpath_icon") self.fourthrow.addWidget(self.dbpath_icon) self.verticallayout.addLayout(self.fourthrow) # -------------------------------------------------- fifthrow # NOTE Fifth Row -------------------------------------------- self.fifthrow = QtWidgets.QHBoxLayout() self.fifthrow.setObjectName("fifthrow") # self.maint_lbl = QtWidgets.QLabel(SearcherSettings) # self.maint_lbl.setObjectName("maint_lbl") # self.fifthrow.addWidget(self.maint_lbl) # self.metrics_chk = QtWidgets.QCheckBox(SearcherSettings) # self.metrics_chk.setLayoutDirection(QtCore.Qt.RightToLeft) # self.metrics_chk.setTristate(False) # self.metrics_chk.setObjectName("metrics_chk") # self.fifthrow.addWidget(self.metrics_chk) # self.cleardata_btn = QtWidgets.QPushButton(SearcherSettings) # self.cleardata_btn.setObjectName("cleardata_btn") # self.fifthrow.addWidget(self.cleardata_btn) # self.verticallayout.addLayout(self.fifthrow) # ---------------------------------------------------- Spacer self.line2 = QtWidgets.QFrame(SearcherSettings) self.line2.setFrameShape(QtWidgets.QFrame.HLine) self.line2.setFrameShadow(QtWidgets.QFrame.Sunken) self.line2.setObjectName("line2") self.verticallayout.addWidget(self.line2) # ---------------------------------------------------- Spacer # -------------------------------------------------- sixthrow # NOTE Sixth Row -------------------------------------------- self.sixthrow = QtWidgets.QHBoxLayout() self.sixthrow.setObjectName("sixthrow") self.about_btn = QtWidgets.QToolButton(SearcherSettings) self.about_btn.setObjectName("about") self.sixthrow.addWidget(self.about_btn) self.bug_btn = QtWidgets.QToolButton(SearcherSettings) self.bug_btn.setObjectName("bugreport") self.sixthrow.addWidget(self.bug_btn) self.theme_btn = QtWidgets.QToolButton(SearcherSettings) self.theme_btn.setObjectName("theme") self.sixthrow.addWidget(self.theme_btn) spacerItem1 = QtWidgets.QSpacerItem(40, 25, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) self.sixthrow.addItem(spacerItem1) self.metrics_chk = QtWidgets.QCheckBox(SearcherSettings) self.metrics_chk.setLayoutDirection(QtCore.Qt.RightToLeft) self.metrics_chk.setTristate(False) self.metrics_chk.setObjectName("metrics_chk") self.sixthrow.addWidget(self.metrics_chk) self.debuglevel_cbx = QtWidgets.QComboBox(SearcherSettings) self.debuglevel_cbx.setObjectName("debuglevel_cbx") self.sixthrow.addWidget(self.debuglevel_cbx) self.debugflag_chk = QtWidgets.QCheckBox(SearcherSettings) self.debugflag_chk.setLayoutDirection(QtCore.Qt.RightToLeft) self.debugflag_chk.setObjectName("debugflag_chk") self.sixthrow.addWidget(self.debugflag_chk) self.discard_btn = QtWidgets.QPushButton(SearcherSettings) self.discard_btn.setObjectName("discard_btn") self.sixthrow.addWidget(self.discard_btn) self.save_btn = QtWidgets.QPushButton(SearcherSettings) self.save_btn.setObjectName("save_btn") self.sixthrow.addWidget(self.save_btn) self.verticallayout.addLayout(self.sixthrow) if not self.animated: self.gridLayout.addLayout(self.verticallayout, 1, 0, 1, 1) # ----------------------------------------------------------- self.retranslateUi(SearcherSettings) QtCore.QMetaObject.connectSlotsByName(SearcherSettings)