def __init__(self, args):
QtWidgets.QMainWindow.__init__(self)
self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
self.setWindowTitle("application main window")
self.file_menu = QtWidgets.QMenu('&File', self)
self.file_menu.addAction('&Quit', self.file_quit,
QtCore.Qt.CTRL + QtCore.Qt.Key_Q)
self.menuBar().addMenu(self.file_menu)
self.help_menu = QtWidgets.QMenu('&Help', self)
self.menuBar().addSeparator()
self.menuBar().addMenu(self.help_menu)
self.help_menu.addAction('&About', self.about)
self.main_widget = QtWidgets.QWidget(self)
layout = QtWidgets.QVBoxLayout(self.main_widget)
qicanvas = QICanvas(args, self.main_widget, width=5, height=4, dpi=100)
layout.addWidget(qicanvas)
self.main_widget.setFocus()
self.setCentralWidget(self.main_widget)
self.statusBar().showMessage("QIView", 2000)
python类QMainWindow()的实例源码
def main():
"""
Application entry point
"""
logging.basicConfig(level=logging.DEBUG)
# create the application and the main window
app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QMainWindow()
# setup ui
ui = example_ui.Ui_MainWindow()
ui.setupUi(window)
ui.bt_delay_popup.addActions([
ui.actionAction,
ui.actionAction_C
])
ui.bt_instant_popup.addActions([
ui.actionAction,
ui.actionAction_C
])
ui.bt_menu_button_popup.addActions([
ui.actionAction,
ui.actionAction_C
])
window.setWindowTitle("QDarkStyle example")
# tabify dock widgets to show bug #6
window.tabifyDockWidget(ui.dockWidget1, ui.dockWidget2)
# setup stylesheet
app.setStyleSheet(PyQt5_stylesheets.load_stylesheet_pyqt5(style="style_black"))
# auto quit after 2s when testing on travis-ci
if "--travis" in sys.argv:
QtCore.QTimer.singleShot(2000, app.exit)
# run
window.show()
app.exec_()
def Logout(self):
import bb_downloader_loginUi as loginUi
self.MainWindow.close()
self.LoginWindow = QtWidgets.QMainWindow()
self.ui = loginUi.Ui_LoginWindow()
self.ui.setupUi(self.LoginWindow)
self.LoginWindow.show()
def end(self):
self.MainWindow = QtWidgets.QMainWindow()
self.ui = mainUi.Ui_MainWindow()
self.ui.setupUi(self.MainWindow, self.account)
self.MainWindow.show()
self.WaitingWindow.accept()
NotifyWindow = QtWidgets.QMessageBox(self.MainWindow)
NotifyWindow.setWindowTitle("?? ??!")
NotifyWindow.setText("??? ?? ??????.")
NotifyWindow.setStandardButtons(QtWidgets.QMessageBox.Ok)
NotifyWindow.setIcon(QtWidgets.QMessageBox.Information)
NotifyWindow.show()
self.LoginWindow.close()
universal_tool_template_1020.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 26
收藏 0
点赞 0
评论 0
def __init__(self, parent=None, mode=0):
UniversalToolUI.__init__(self, parent)
# class variables
self.version= version
self.date = date
self.log = log
self.help = help
# mode: example for receive extra user input as parameter
self.mode = 0
if mode in [0,1]:
self.mode = mode # mode validator
# Custom user variable
#------------------------------
# initial data
#------------------------------
self.memoData['data']=[]
self.qui_user_dict = {} # e.g: 'edit': 'LNTextEdit',
self.setupStyle()
if isinstance(self, QtWidgets.QMainWindow):
self.setupMenu()
self.setupWin()
self.setupUI()
self.Establish_Connections()
self.loadLang()
self.loadData()
#------------------------------
# overwrite functions
#------------------------------
def __init__(self, parent=None, mode=0):
super_class.__init__(self, parent)
#------------------------------
# class variables
#------------------------------
self.version="2.0"
self.uiList={} # for ui obj storage
self.memoData = {} # key based variable data storage
self.fileType='.UITranslator_EXT'
# mode: example for receive extra user input as parameter
self.mode = 0
if mode in [0,1]:
self.mode = mode # mode validator
self.location = ""
if getattr(sys, 'frozen', False):
# frozen - cx_freeze
self.location = sys.executable
else:
# unfrozen
self.location = os.path.realpath(__file__) # location: ref: sys.modules[__name__].__file__
# Custom variable
#------------------------------
# initial data
#------------------------------
self.memoData['data']=[]
self.setupStyle()
if isinstance(self, QtWidgets.QMainWindow):
self.setupMenu() # only if you use QMainWindows Class
self.setupWin()
self.setupUI()
self.Establish_Connections()
self.loadData()
self.loadLang()
def quickMenu(self, ui_names):
if isinstance(self, QtWidgets.QMainWindow):
menubar = self.menuBar()
for each_ui in ui_names:
createOpt = each_ui.split(';')
if len(createOpt) > 1:
uiName = createOpt[0]
uiLabel = createOpt[1]
self.uiList[uiName] = QtWidgets.QMenu(uiLabel)
menubar.addMenu(self.uiList[uiName])
else:
print("Warning (QuickMenu): Only QMainWindow can have menu bar.")
GearBox_template_1010.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 48
收藏 0
点赞 0
评论 0
def setupUI(self, layout='grid'):
#------------------------------
# main_layout auto creation for holding all the UI elements
#------------------------------
main_layout = None
if isinstance(self, QtWidgets.QMainWindow):
main_widget = QtWidgets.QWidget()
self.setCentralWidget(main_widget)
main_layout = self.quickLayout(layout, 'main_layout') # grid for auto fill window size
main_widget.setLayout(main_layout)
else:
# main_layout for QDialog
main_layout = self.quickLayout(layout, 'main_layout')
self.setLayout(main_layout)
GearBox_template_1010.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 23
收藏 0
点赞 0
评论 0
def quickMenu(self, ui_names):
if not isinstance(ui_names, (list, tuple)):
# support qui format menu creation
ui_names = [ x.strip() for x in ui_names.split('|') ]
if isinstance(self, QtWidgets.QMainWindow):
menubar = self.menuBar()
for each_ui in ui_names:
createOpt = each_ui.split(';')
if len(createOpt) > 1:
uiName = createOpt[0]
uiLabel = createOpt[1]
self.uiList[uiName] = QtWidgets.QMenu(uiLabel)
menubar.addMenu(self.uiList[uiName])
else:
print("Warning (QuickMenu): Only QMainWindow can have menu bar.")
GearBox_template_1010.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 21
收藏 0
点赞 0
评论 0
def __init__(self, parent=None, mode=0):
UniversalToolUI.__init__(self, parent)
# class variables
self.version= version
self.date = date
self.log = log
self.help = help
# mode: example for receive extra user input as parameter
self.mode = 0
if mode in [0,1]:
self.mode = mode # mode validator
# Custom user variable
#------------------------------
# initial data
#------------------------------
self.memoData['data']=[]
self.qui_user_dict = {} # e.g: 'edit': 'LNTextEdit',
self.setupStyle()
if isinstance(self, QtWidgets.QMainWindow):
self.setupMenu()
self.setupWin()
self.setupUI()
self.Establish_Connections()
self.loadLang()
self.loadData()
#------------------------------
# overwrite functions
#------------------------------
universal_tool_template_0904.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 22
收藏 0
点赞 0
评论 0
def setupUI(self, layout='grid'):
#------------------------------
# main_layout auto creation for holding all the UI elements
#------------------------------
main_layout = None
if isinstance(self, QtWidgets.QMainWindow):
main_widget = QtWidgets.QWidget()
self.setCentralWidget(main_widget)
main_layout = self.quickLayout(layout, 'main_layout') # grid for auto fill window size
main_widget.setLayout(main_layout)
else:
# main_layout for QDialog
main_layout = self.quickLayout(layout, 'main_layout')
self.setLayout(main_layout)
universal_tool_template_0904.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 23
收藏 0
点赞 0
评论 0
def quickMenu(self, ui_names):
if isinstance(self, QtWidgets.QMainWindow):
menubar = self.menuBar()
for each_ui in ui_names:
createOpt = each_ui.split(';')
if len(createOpt) > 1:
uiName = createOpt[0]
uiLabel = createOpt[1]
self.uiList[uiName] = QtWidgets.QMenu(uiLabel)
menubar.addMenu(self.uiList[uiName])
else:
print("Warning (QuickMenu): Only QMainWindow can have menu bar.")
universal_tool_template_0904.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 25
收藏 0
点赞 0
评论 0
def __init__(self, parent=None, mode=0):
UniversalToolUI.__init__(self, parent)
# class variables
self.version="0.1"
self.help = "(UserClassUI)How to Use:\n1. Put source info in\n2. Click Process button\n3. Check result output\n4. Save memory info into a file."
# mode: example for receive extra user input as parameter
self.mode = 0
if mode in [0,1]:
self.mode = mode # mode validator
# Custom user variable
#------------------------------
# initial data
#------------------------------
self.memoData['data']=[]
self.qui_user_dict = {} # e.g: 'edit': 'LNTextEdit',
self.setupStyle()
if isinstance(self, QtWidgets.QMainWindow):
self.setupMenu()
self.setupWin()
self.setupUI()
self.Establish_Connections()
self.loadData()
self.loadLang()
#------------------------------
# overwrite functions
#------------------------------
universal_tool_template_1000.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 23
收藏 0
点赞 0
评论 0
def setupUI(self, layout='grid'):
#------------------------------
# main_layout auto creation for holding all the UI elements
#------------------------------
main_layout = None
if isinstance(self, QtWidgets.QMainWindow):
main_widget = QtWidgets.QWidget()
self.setCentralWidget(main_widget)
main_layout = self.quickLayout(layout, 'main_layout') # grid for auto fill window size
main_widget.setLayout(main_layout)
else:
# main_layout for QDialog
main_layout = self.quickLayout(layout, 'main_layout')
self.setLayout(main_layout)
universal_tool_template_1000.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 20
收藏 0
点赞 0
评论 0
def quickMenu(self, ui_names):
if not isinstance(ui_names, (list, tuple)):
# support qui format menu creation
ui_names = [ x.strip() for x in ui_names.split('|') ]
if isinstance(self, QtWidgets.QMainWindow):
menubar = self.menuBar()
for each_ui in ui_names:
createOpt = each_ui.split(';')
if len(createOpt) > 1:
uiName = createOpt[0]
uiLabel = createOpt[1]
self.uiList[uiName] = QtWidgets.QMenu(uiLabel)
menubar.addMenu(self.uiList[uiName])
else:
print("Warning (QuickMenu): Only QMainWindow can have menu bar.")
universal_tool_template_0803.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 33
收藏 0
点赞 0
评论 0
def __init__(self, parent=None, mode=0):
super_class.__init__(self, parent)
#------------------------------
# class variables
#------------------------------
self.version="0.1"
self.help = "How to Use:\n1. Put source info in\n2. Click Process button\n3. Check result output\n4. Save memory info into a file."
self.uiList={} # for ui obj storage
self.memoData = {} # key based variable data storage
self.location = ""
if getattr(sys, 'frozen', False):
# frozen - cx_freeze
self.location = sys.executable
else:
# unfrozen
self.location = os.path.realpath(__file__) # location: ref: sys.modules[__name__].__file__
self.name = self.__class__.__name__
self.iconPath = os.path.join(os.path.dirname(self.location),'icons',self.name+'.png')
self.iconPix = QtGui.QPixmap(self.iconPath)
self.icon = QtGui.QIcon(self.iconPath)
self.fileType='.{0}_EXT'.format(self.name)
# Custom user variable
#------------------------------
# initial data
#------------------------------
self.memoData['data']=[]
self.setupStyle()
if isinstance(self, QtWidgets.QMainWindow):
self.setupMenu()
self.setupWin()
self.setupUI()
self.Establish_Connections()
self.loadData()
self.loadLang()
universal_tool_template_0803.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 30
收藏 0
点赞 0
评论 0
def setupWin(self):
self.setWindowTitle(self.name + " - v" + self.version + " - host: " + hostMode)
self.setWindowIcon(self.icon)
# initial win drag position
self.drag_position=QtGui.QCursor.pos()
self.setGeometry(500, 300, 250, 110) # self.resize(250,250)
#------------------------------
# template list: for frameless or always on top option
#------------------------------
# - template : keep ui always on top of all;
# While in Maya, dont set Maya as its parent
'''
self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
'''
# - template: hide ui border frame;
# While in Maya, use QDialog instead, as QMainWindow will make it disappear
'''
self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
'''
# - template: best solution for Maya QDialog without parent, for always on-Top frameless ui
'''
self.setWindowFlags(QtCore.Qt.FramelessWindowHint | QtCore.Qt.WindowStaysOnTopHint)
'''
# - template: for transparent and non-regular shape ui
# note: use it if you set main ui to transparent, and want to use alpha png as irregular shape window
# note: black color better than white for better look of semi trans edge, like pre-mutiply
'''
self.setAttribute(QtCore.Qt.WA_TranslucentBackground)
self.setStyleSheet("background-color: rgba(0, 0, 0,0);")
'''
#############################################
# customized SUPER quick ui function for speed up programming
#############################################
universal_tool_template_0803.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 24
收藏 0
点赞 0
评论 0
def quickMenu(self, ui_names):
if isinstance(self, QtWidgets.QMainWindow):
menubar = self.menuBar()
for each_ui in ui_names:
createOpt = each_ui.split(';')
if len(createOpt) > 1:
uiName = createOpt[0]
uiLabel = createOpt[1]
self.uiList[uiName] = QtWidgets.QMenu(uiLabel)
menubar.addMenu(self.uiList[uiName])
else:
print("Warning (QuickMenu): Only QMainWindow can have menu bar.")
universal_tool_template_0903.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 26
收藏 0
点赞 0
评论 0
def quickMenu(self, ui_names):
if isinstance(self, QtWidgets.QMainWindow):
menubar = self.menuBar()
for each_ui in ui_names:
createOpt = each_ui.split(';')
if len(createOpt) > 1:
uiName = createOpt[0]
uiLabel = createOpt[1]
self.uiList[uiName] = QtWidgets.QMenu(uiLabel)
menubar.addMenu(self.uiList[uiName])
else:
print("Warning (QuickMenu): Only QMainWindow can have menu bar.")
universal_tool_template_0903.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 24
收藏 0
点赞 0
评论 0
def __init__(self, parent=None, mode=0):
UniversalToolUI.__init__(self, parent)
# class variables
self.version="0.1"
self.help = "(UserClassUI)How to Use:\n1. Put source info in\n2. Click Process button\n3. Check result output\n4. Save memory info into a file."
# mode: example for receive extra user input as parameter
self.mode = 0
if mode in [0,1]:
self.mode = mode # mode validator
# Custom user variable
#------------------------------
# initial data
#------------------------------
self.memoData['data']=[]
self.setupStyle()
if isinstance(self, QtWidgets.QMainWindow):
self.setupMenu()
self.setupWin()
self.setupUI()
self.Establish_Connections()
self.loadData()
self.loadLang()
#------------------------------
# overwrite functions
#------------------------------