本文整理汇总了Python中PyQt5.QtWidgets.QWidget.setFixedSize方法的典型用法代码示例。如果您正苦于以下问题:Python QWidget.setFixedSize方法的具体用法?Python QWidget.setFixedSize怎么用?Python QWidget.setFixedSize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PyQt5.QtWidgets.QWidget
的用法示例。
在下文中一共展示了QWidget.setFixedSize方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: init_toolbar
# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import setFixedSize [as 别名]
def init_toolbar(self):
self.toolbar = QToolBar()
self.toolbar.setFixedHeight(30)
self.toolbar.setWindowTitle("Show") # text for the contextmenu
#self.toolbar.setStyleSheet("QToolBar {border:0px}") # make it user defined?
self.toolbar.setMovable(False)
self.toolbar.setFloatable(False)
#self.toolbar.setIconSize(QSize(20,20))
self.toolbar.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)
spacer_start = QWidget() # aligns the first actions properly
spacer_start.setFixedSize(QSize(10, 1))
self.toolbar.addWidget(spacer_start)
favourite_view_icon = QIcon(gui_constants.STAR_BTN_PATH)
favourite_view_action = QAction(favourite_view_icon, "Favourite", self)
#favourite_view_action.setText("Manga View")
favourite_view_action.triggered.connect(lambda: self.setCurrentIndex(1)) #need lambda to pass extra args
self.toolbar.addAction(favourite_view_action)
catalog_view_icon = QIcon(gui_constants.HOME_BTN_PATH)
catalog_view_action = QAction(catalog_view_icon, "Library", self)
#catalog_view_action.setText("Catalog")
catalog_view_action.triggered.connect(lambda: self.setCurrentIndex(0)) #need lambda to pass extra args
self.toolbar.addAction(catalog_view_action)
self.toolbar.addSeparator()
series_icon = QIcon(gui_constants.PLUS_PATH)
series_action = QAction(series_icon, "Add series...", self)
series_action.triggered.connect(self.manga_list_view.SERIES_DIALOG.emit)
series_menu = QMenu()
series_menu.addSeparator()
populate_action = QAction("Populate from folder...", self)
populate_action.triggered.connect(self.populate)
series_menu.addAction(populate_action)
series_action.setMenu(series_menu)
self.toolbar.addAction(series_action)
spacer_middle = QWidget() # aligns buttons to the right
spacer_middle.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
self.toolbar.addWidget(spacer_middle)
self.search_bar = QLineEdit()
self.search_bar.setPlaceholderText("Search title, artist, genres")
self.search_bar.setMaximumWidth(200)
self.toolbar.addWidget(self.search_bar)
self.toolbar.addSeparator()
settings_icon = QIcon(gui_constants.SETTINGS_PATH)
settings_action = QAction(settings_icon, "Set&tings", self)
self.toolbar.addAction(settings_action)
self.addToolBar(self.toolbar)
spacer_end = QWidget() # aligns About action properly
spacer_end.setFixedSize(QSize(10, 1))
self.toolbar.addWidget(spacer_end)
示例2: AboutWdiget
# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import setFixedSize [as 别名]
class AboutWdiget(Ui_AboutForm):
def __init__(self):
super().__init__()
self.about_widget = QWidget()
self.setupUi(self.about_widget)
self.about_widget.setFixedSize(self.about_widget.width(),self.about_widget.height())
self.set_version()
self.label_info.setOpenExternalLinks(True)
def set_version(self):
self.label_version.setText('Version ' + mconfig.version)
示例3: Ninekey
# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import setFixedSize [as 别名]
class Ninekey(QApplication):
def __init__(self, args):
super().__init__(args)
self.addWidgets()
self.exec_()
def addWidgets(self):
appname = "ninekey"
apptitle = "Ninekey"
self.window = QWidget()
self.window.setFixedSize(300, 300)
self.window.setWindowTitle(apptitle)
self.window.setWindowIcon(QIcon(appname + ".png"))
self.window.show()
# Set up the config file.
if os.name == "posix":
conf_dir_path = "/".join([os.environ["HOME"], ".config", appname])
conf_file_path = "/".join([conf_dir_path, appname + ".conf"])
elif os.name == "nt":
conf_dir = "\\".join(["%APPDATA%", appname])
conf_file_path = "\\".join([conf_dir_path, appname + ".conf"])
else:
conf_dir = ""
conf_file_path = appname + ".conf"
if not os.path.exists(conf_dir_path):
os.mkdir(conf_dir_path)
if os.path.exists(conf_file_path):
conf_file = open(conf_file_path,"r")
else:
conf_file = open(conf_file_path,"w+")
# Add the buttons.
buttons = []
for i in range(9):
label = conf_file.readline()
command = conf_file.readline()
newButton = CommandButton(self.window, label, command)
buttons.append(newButton)
for y in range(0, 3):
for x in range(0, 3):
buttons[x + y*3].move(100 * x, 100 * y)
buttons[x + y*3].show()
示例4: init_window
# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import setFixedSize [as 别名]
def init_window(self, argv):
self._app = QApplication(argv)
# 大枠の用意
panel = QWidget()
# 各フレーム用意
self.countdown_widget = countdownwidget.CountDownWidget(parent=panel)
self.button_box_widget = buttonboxwidget.ButtonBoxWidget(parent=panel)
# 大枠に各レイアウトを挿入
_panel_layout = QVBoxLayout()
_panel_layout.addWidget(self.countdown_widget)
_panel_layout.addWidget(self.button_box_widget)
panel.setLayout(_panel_layout)
# 大枠の大きさ
panel.setFixedSize(320, 200)
# メインウィンドウに大枠を挿入
self._main_window = QMainWindow()
# メインウィンドウの各種設定
self._main_window.setWindowTitle("3分タイマー")
self._main_window.setCentralWidget(panel)
# イベント処理初期化
self.set_eventhundle()
示例5: trdHisPage
# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import setFixedSize [as 别名]
def trdHisPage(self):
for pi in range(0,len(self.pages)):
self.toolButtons[pi].setStyleSheet(self.toolButtonHideQSS)
self.pages[pi].hide()
print "in trade history page"
ci = 4
page = self.pages[ci]
self.toolButtons[ci].setStyleSheet(self.toolButtonFocusQSS)
if self.pagesStatus[ci] == 0:
if not page.layout() == None:
while page.layout().count() > 0:
page.layout().takeAt(0).widget().setParent(None)
if page.layout() == None:
self.pageTrdHisPageMainVerticalBox = QVBoxLayout()
self.pageTrdHisPageMainVerticalBox.setContentsMargins(0, 5, 0, 0)
page.setLayout(self.pageTrdHisPageMainVerticalBox)
self.pageTrdHisTitleLabel = QLabel("Trade History", page)
self.pageTrdHisTitleLabel.setFixedSize(860, 25)
self.pageTrdHisTitleLabel.setStyleSheet(self.pageTitleQSS)
self.pageTrdHisPageMainVerticalBox.addWidget(self.pageTrdHisTitleLabel)
tradeHistory = self.ATM.account.queryTradeHistory()
if not len(tradeHistory) == 0:
self.pageTrdHisBookTitles = QWidget(page)
self.pageTrdHisBookTitles.setFixedSize(860, 25)
self.pageTrdHisBookTitles.setStyleSheet(self.pageSubTitleQSS)
titlesHBox = QHBoxLayout()
titlesHBox.setContentsMargins(10, 0, 20, 0)
code = QLabel("Code")
code.setFixedWidth(100)
titlesHBox.addWidget(code)
time = QLabel("Time")
time.setFixedWidth(145)
titlesHBox.addWidget(time)
titlesHBox.addWidget(QLabel("Action"))
qnt = QLabel("Qnt")
qnt.setFixedWidth(50)
titlesHBox.addWidget(qnt)
titlesHBox.addWidget(QLabel("Occupy"))
titlesHBox.addWidget(QLabel("Price"))
titlesHBox.addWidget(QLabel("PnL"))
titlesHBox.addWidget(QLabel("Equity"))
strategy = QLabel("Strategy")
strategy.setFixedWidth(100)
titlesHBox.addWidget(strategy)
self.pageTrdHisBookTitles.setLayout(titlesHBox)
self.pageTrdHisPageMainVerticalBox.addWidget(self.pageTrdHisBookTitles)
self.pageTrdHisPageScroll = QScrollArea(page)
self.pageTrdHisPageScroll.setWidgetResizable(True)
self.pageTrdHisPageScroll.setBackgroundRole(QPalette.NoRole)
self.pageTrdHisPageScroll.setStyleSheet("background: transparent")
self.pageTrdHisPageScroll.setFixedSize(860, 600)
self.pageTrdHisScrollContentsWidget = QWidget(page)
scrollContentVBox = QVBoxLayout()
scrollContentVBox.setContentsMargins(0, 0, 0, 0)
scrollContentVBox.setAlignment(Qt.AlignTop)
for i in xrange(0, len(tradeHistory)):
widget = QWidget()
widget.setFixedHeight(15)
if tradeHistory.ix[i]["Action"] == "Short" : widget.setStyleSheet("color:#27AE60")
if tradeHistory.ix[i]["Action"] == "SellToCover" : widget.setStyleSheet("color:#27AE60")
if tradeHistory.ix[i]["Action"] == "Long" : widget.setStyleSheet("color:#fa2020")
if tradeHistory.ix[i]["Action"] == "BuyToCover" : widget.setStyleSheet("color:#fa2020")
hbox = QHBoxLayout()
hbox.setContentsMargins(20, 0, 10, 0)
code = QLabel(str(tradeHistory.ix[i]["Code"])); code.setFixedWidth(100); hbox.addWidget(code);
time = QLabel(str(tradeHistory.ix[i]["Time"])); time.setFixedWidth(145); hbox.addWidget(time);
hbox.addWidget(QLabel(tradeHistory.ix[i]["Action"]))
qnt = QLabel(str(tradeHistory.ix[i]["Qnt"])); qnt.setFixedWidth(50); hbox.addWidget(qnt);
hbox.addWidget(QLabel(str("{0:.2f}".format(tradeHistory.ix[i]["QntPer"] * 100))+"%"))
hbox.addWidget(QLabel(str(round(tradeHistory.ix[i]["Price"]))))
pnl = QLabel()
if not tradeHistory.ix[i]["PnL"] == "": pnl = QLabel(str(round(float(tradeHistory.ix[i]["PnL"]))));
hbox.addWidget(pnl)
hbox.addWidget(QLabel(str(round(tradeHistory.ix[i]["Equity"]))))
strategy = QLabel(tradeHistory.ix[i]["Strategy"]); strategy.setFixedWidth(100); hbox.addWidget(strategy);
widget.setLayout(hbox)
scrollContentVBox.addWidget(widget)
self.pageTrdHisScrollContentsWidget.setLayout(scrollContentVBox)
self.pageTrdHisPageScroll.setWidget(self.pageTrdHisScrollContentsWidget)
self.pageTrdHisPageMainVerticalBox.addWidget(self.pageTrdHisPageScroll)
else:
widget = QLabel("No Data.")
widget.setFixedSize(860, 550)
widget.setStyleSheet(self.noDataLabelQSS)
widget.setAlignment(Qt.AlignCenter)
self.pageTrdHisPageMainVerticalBox.addWidget(widget)
self.pagesStatus[ci] = 1
page.show()
示例6: trdPnlPage
# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import setFixedSize [as 别名]
def trdPnlPage(self):
for pi in range(0,len(self.pages)):
self.toolButtons[pi].setStyleSheet(self.toolButtonHideQSS)
self.pages[pi].hide()
print "in profit and loss report page"
ci = 3
page = self.pages[ci]
self.toolButtons[ci].setStyleSheet(self.toolButtonFocusQSS)
if self.pagesStatus[ci] == 0:
if not page.layout() == None:
while page.layout().count() > 0:
page.layout().takeAt(0).widget().setParent(None)
if page.layout() == None:
self.pageTrdPnlPageMainVerticalBox = QVBoxLayout()
self.pageTrdPnlPageMainVerticalBox.setContentsMargins(0, 5, 0, 0)
page.setLayout(self.pageTrdPnlPageMainVerticalBox)
self.pageTrdHisTitleLabel = QLabel("Profit And Loss Report", page)
self.pageTrdHisTitleLabel.setFixedSize(860, 25)
self.pageTrdHisTitleLabel.setStyleSheet(self.pageTitleQSS)
self.pageTrdPnlPageMainVerticalBox.addWidget(self.pageTrdHisTitleLabel)
pnlReport = self.ATM.report
if not len(pnlReport) == 0:
self.pageTrdHisBookTitles = QWidget(page)
self.pageTrdHisBookTitles.setFixedSize(860, 25)
self.pageTrdHisBookTitles.setStyleSheet(self.pageSubTitleQSS)
titlesHBox = QHBoxLayout()
titlesHBox.setContentsMargins(10, 0, 20, 0)
strategy = QLabel("Strategy")
titlesHBox.addWidget(QLabel("Strategy"))
titlesHBox.addWidget(QLabel("Realized PnL"))
titlesHBox.addWidget(QLabel("Return"))
areturn = QLabel("Annual Return")
areturn.setFixedWidth(130)
titlesHBox.addWidget(areturn)
titlesHBox.addWidget(QLabel("Volatility"))
titlesHBox.addWidget(QLabel("Sharpe Ratio"))
mdd = QLabel("Maximum Draw Down")
mdd.setFixedWidth(155)
titlesHBox.addWidget(mdd)
self.pageTrdHisBookTitles.setLayout(titlesHBox)
self.pageTrdPnlPageMainVerticalBox.addWidget(self.pageTrdHisBookTitles)
self.pageTrdHisPageScroll = QScrollArea(page)
self.pageTrdHisPageScroll.setWidgetResizable(True)
self.pageTrdHisPageScroll.setBackgroundRole(QPalette.NoRole)
self.pageTrdHisPageScroll.setStyleSheet("background: transparent")
self.pageTrdHisPageScroll.setFixedSize(860, 600)
self.pageTrdHisScrollContentsWidget = QWidget(page)
scrollContentVBox = QVBoxLayout()
scrollContentVBox.setAlignment(Qt.AlignTop)
scrollContentVBox.setContentsMargins(0, 0, 0, 0)
for i in xrange(0, len(pnlReport)):
widget = QWidget()
widget.setFixedHeight(15)
if pnlReport.ix[i]["realized PnL"] > 0: widget.setStyleSheet("color:#fa2020")
if pnlReport.ix[i]["realized PnL"] < 0: widget.setStyleSheet("color:#27AE60")
hbox = QHBoxLayout()
hbox.setContentsMargins(20, 0, 10, 0)
strategy = QLabel(pnlReport.ix[i]["Strategy"])
strategy.setFixedWidth(100)
hbox.addWidget(strategy)
hbox.addWidget(QLabel(str("{0:.2f}".format(pnlReport.ix[i]["realized PnL"]))))
hbox.addWidget(QLabel(str("{0:.4f}".format(pnlReport.ix[i]["Return"]))))
areturn = QLabel(str("{0:.4f}".format(pnlReport.ix[i]["Annualized Return"])))
# hbox.addWidget(QLabel(str("{0:.2f}".format(tradeHistory.ix[i]["QntPer"] * 100))))
areturn.setFixedWidth(130)
hbox.addWidget(areturn)
hbox.addWidget(QLabel(str("{0:.4f}".format(pnlReport.ix[i]["Volatility"]))))
hbox.addWidget(QLabel(str("{0:.4f}".format(pnlReport.ix[i]["Sharpe Ratio"]))))
mdd = QLabel(str("{0:.6f}".format(pnlReport.ix[i]["MDD"])))
mdd.setFixedWidth(155)
hbox.addWidget(mdd)
widget.setLayout(hbox)
scrollContentVBox.addWidget(widget)
self.pageTrdHisScrollContentsWidget.setLayout(scrollContentVBox)
self.pageTrdHisPageScroll.setWidget(self.pageTrdHisScrollContentsWidget)
self.pageTrdPnlPageMainVerticalBox.addWidget(self.pageTrdHisPageScroll)
else:
widget = QLabel("No Data.")
widget.setFixedSize(860, 550)
widget.setStyleSheet(self.noDataLabelQSS)
widget.setAlignment(Qt.AlignCenter)
self.pageTrdPnlPageMainVerticalBox.addWidget(widget)
self.pagesStatus[ci] = 1
page.show()
示例7: atoTrdPage
# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import setFixedSize [as 别名]
def atoTrdPage(self):
for pi in range(0,len(self.pages)):
self.toolButtons[pi].setStyleSheet(self.toolButtonHideQSS)
self.pages[pi].hide()
print "in monitor page"
ci = 2
page = self.pages[ci]
self.toolButtons[ci].setStyleSheet(self.toolButtonFocusQSS)
if self.pagesStatus[ci] == 0:
if not page.layout() == None:
while page.layout().count() > 0:
page.layout().takeAt(0).widget().setParent(None)
if page.layout() == None:
self.pageAutoTrdPageMainVerticalBox = QVBoxLayout()
self.pageAutoTrdPageMainVerticalBox.setContentsMargins(0, 5, 0, 0)
page.setLayout(self.pageAutoTrdPageMainVerticalBox)
self.pageAutoTrdTitleLabel = QLabel("Monitor", page)
self.pageAutoTrdTitleLabel.setFixedSize(860, 25)
self.pageAutoTrdTitleLabel.setStyleSheet(self.pageTitleQSS)
self.pageAutoTrdPageMainVerticalBox.addWidget(self.pageAutoTrdTitleLabel)
pnlReport = self.ATM.report
if not len(self.ATM.strategies.strategiesPool.keys()) == 0:
self.pageAtoTrdPageScroll = QScrollArea(page)
self.pageAtoTrdPageScroll.setWidgetResizable(True)
self.pageAtoTrdPageScroll.setBackgroundRole(QPalette.NoRole)
self.pageAtoTrdPageScroll.setStyleSheet("background: transparent")
self.pageAtoTrdPageScroll.setFixedSize(860, 635)
self.pageAtoTrdScrollContentsWidget = QWidget(page)
scrollContentVBox = QVBoxLayout()
scrollContentVBox.setAlignment(Qt.AlignTop)
scrollContentVBox.setContentsMargins(0, 0, 0, 0)
self.pageAtoTrdSignalPlotLabel = QLabel("Signals Plots", page)
self.pageAtoTrdSignalPlotLabel.setFixedSize(860, 25)
self.pageAtoTrdSignalPlotLabel.setStyleSheet(self.pageSubTitleQSS)
scrollContentVBox.addWidget(self.pageAtoTrdSignalPlotLabel)
path = "./strategies/image/"
for file in os.listdir(path):
if file.endswith(".png") and file.split('.')[0] in self.ATM.strategies.strategiesPool.keys():
pageAtoTrdSignalPlotStrategyLabel = QLabel(file.split('.')[0], page)
pageAtoTrdSignalPlotStrategyLabel.setFixedSize(860, 25)
pageAtoTrdSignalPlotStrategyLabel.setStyleSheet(self.pageSubSubTitleQSS)
scrollContentVBox.addWidget(pageAtoTrdSignalPlotStrategyLabel)
widget = QWidget()
widget.setFixedHeight(300)
hbox = QHBoxLayout()
hbox.setContentsMargins(0, 0, 0, 0)
hbox.setAlignment(Qt.AlignCenter)
lbl = QLabel()
pixmap = QPixmap(path + file)
scaled_pixmap = pixmap.scaled(860, 330, Qt.KeepAspectRatio)
lbl.setPixmap(scaled_pixmap)
hbox.addWidget(lbl)
widget.setLayout(hbox)
scrollContentVBox.addWidget(widget)
self.pageAtoTrdAllSignalsLabel = QLabel("All Signals", page)
self.pageAtoTrdAllSignalsLabel.setFixedSize(860, 25)
self.pageAtoTrdAllSignalsLabel.setStyleSheet(self.pageSubTitleQSS)
scrollContentVBox.addWidget(self.pageAtoTrdAllSignalsLabel)
self.pageAtoTrdAllSignalsTitle = QWidget(page)
self.pageAtoTrdAllSignalsTitle.setFixedSize(860, 25)
self.pageAtoTrdAllSignalsTitle.setStyleSheet(self.pageSubSubTitleQSS)
titlesHBox = QHBoxLayout()
titlesHBox.setContentsMargins(10, 0, 20, 0)
titlesHBox.addWidget(QLabel("Code"))
titlesHBox.addWidget(QLabel("Time"))
titlesHBox.addWidget(QLabel("Action"))
titlesHBox.addWidget(QLabel("Qnt"))
titlesHBox.addWidget(QLabel("Price"))
titlesHBox.addWidget(QLabel("Volumn"))
titlesHBox.addWidget(QLabel("Strategy"))
self.pageAtoTrdAllSignalsTitle.setLayout(titlesHBox)
scrollContentVBox.addWidget(self.pageAtoTrdAllSignalsTitle)
signals = self.ATM.strategies.signals
if not len(signals) == 0:
for i in xrange(len(signals)):
widget = QWidget(page)
widget.setFixedHeight(15)
widget.setStyleSheet("color:#ffffff")
signalHBox = QHBoxLayout()
signalHBox.setContentsMargins(20, 0, 10, 0)
signalHBox.addWidget(QLabel(signals.ix[i]["Code"]))
signalHBox.addWidget(QLabel(str(signals.ix[i]["Time"])))
signalHBox.addWidget(QLabel(signals.ix[i]["Action"]))
signalHBox.addWidget(QLabel(str(signals.ix[i]["Qnt"])))
signalHBox.addWidget(QLabel(str(signals.ix[i]["Price"])))
signalHBox.addWidget(QLabel(str(signals.ix[i]["Volume"])))
signalHBox.addWidget(QLabel(signals.ix[i]["Strategy"]))
#.........这里部分代码省略.........
示例8: pairTrPage
# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import setFixedSize [as 别名]
def pairTrPage(self):
# hide all pages to show self page
for pi in range(0, len(self.pages)):
self.toolButtons[pi].setStyleSheet(self.toolButtonHideQSS)
self.pages[pi].hide()
print "in pair trading page"
ci = 1
page = self.pages[ci]
self.toolButtons[ci].setStyleSheet(self.toolButtonFocusQSS)
if self.pagesStatus[ci] == 0:
self.pagePairTrConfigWidget = QWidget(page)
self.pagePairTrConfigWidget.setFixedSize(860, 700)
pageMainVerticalBox = QVBoxLayout()
pageMainVerticalBox.setContentsMargins(0, 5, 0, 0)
self.pagePairTrTitleLabel = QLabel("Pair Trading")
self.pagePairTrTitleLabel.setFixedSize(860, 25)
self.pagePairTrTitleLabel.setStyleSheet(self.pageTitleQSS)
pageMainVerticalBox.addWidget(self.pagePairTrTitleLabel)
self.pagePairTrCapitalLabel = QLabel("Capital Config", page)
self.pagePairTrCapitalLabel.setFixedSize(860, 25)
self.pagePairTrCapitalLabel.setStyleSheet(self.pageSubTitleQSS)
pageMainVerticalBox.addWidget(self.pagePairTrCapitalLabel)
capitalHbox = QHBoxLayout()
capitalHbox.setContentsMargins(30, 10, 0, 10)
self.pagePairTrCapitalInputLabel = QLabel("Capital: ", page)
self.pagePairTrCapitalInputLabel.setFont(self.contentFont)
self.pagePairTrCapitalInputLabel.setFixedSize(100, 25)
self.pagePairTrCapitalInputLabel.setStyleSheet(self.itemNameQSS)
capitalHbox.addWidget(self.pagePairTrCapitalInputLabel)
self.pagePairTrCapitalEdit = QLineEdit("$ 100,000,000")
self.pagePairTrCapitalEdit.setStyleSheet(self.lineEditQSS)
self.pagePairTrCapitalEdit.setFixedSize(300, 25)
self.pagePairTrCapitalEdit.setEnabled(False)
capitalHbox.addWidget(self.pagePairTrCapitalEdit)
capitalHbox.addStretch(1)
pageMainVerticalBox.addLayout(capitalHbox)
self.pagePairTrSecurityLabel = QLabel("Security Select", page)
self.pagePairTrSecurityLabel.setFixedSize(860, 25)
self.pagePairTrSecurityLabel.setStyleSheet(self.pageSubTitleQSS)
pageMainVerticalBox.addWidget(self.pagePairTrSecurityLabel)
securityHbox = QHBoxLayout()
securityHbox.setContentsMargins(30, 10, 0, 10)
self.pagePairTrSecurityCode = QLabel("Security Basket: ", page)
self.pagePairTrSecurityCode.setFont(self.contentFont)
self.pagePairTrSecurityCode.setFixedSize(100, 25)
self.pagePairTrSecurityCode.setStyleSheet(self.itemNameQSS)
securityHbox.addWidget(self.pagePairTrSecurityCode)
self.pagePairTrSecurities = QTextEdit(page)
self.pagePairTrSecurities.setEnabled(False)
self.pagePairTrSecurities.setFixedSize(600, 148)
securities = ""
for item in self.ATM.data.getAssetList("./dataManager/data/hsi_stocks"): securities += item + ' '
self.pagePairTrSecurities.setText(securities)
securityHbox.addWidget(self.pagePairTrSecurities)
securityHbox.addStretch(1)
pageMainVerticalBox.addLayout(securityHbox)
self.pagePairTrTimeSpanLabel = QLabel("Trading Time Config", page)
self.pagePairTrTimeSpanLabel.setFixedSize(860, 25)
self.pagePairTrTimeSpanLabel.setStyleSheet(self.pageSubTitleQSS)
pageMainVerticalBox.addWidget(self.pagePairTrTimeSpanLabel)
timeVbox = QVBoxLayout()
timeVbox.setContentsMargins(30, 10, 0, 10)
startTimeHbox = QHBoxLayout()
self.pagePairTrStartTimeName = QLabel("Start Time: ", page)
self.pagePairTrStartTimeName.setFont(self.contentFont)
self.pagePairTrStartTimeName.setFixedSize(100, 25)
self.pagePairTrStartTimeName.setStyleSheet(self.itemNameQSS)
startTimeHbox.addWidget(self.pagePairTrStartTimeName)
self.pagePairTrStartTimeEdit = QLineEdit("2016-02-10 16:00:00")
self.pagePairTrStartTimeEdit.setEnabled(False)
self.pagePairTrStartTimeEdit.setStyleSheet(self.lineEditQSS)
self.pagePairTrStartTimeEdit.setFixedSize(300, 25)
startTimeHbox.addWidget(self.pagePairTrStartTimeEdit)
startTimeHbox.addStretch(1)
timeVbox.addLayout(startTimeHbox)
endTimeHbox = QHBoxLayout()
self.pagePairTrEndTimeName = QLabel("End Time: ", page)
self.pagePairTrEndTimeName.setFont(self.contentFont)
self.pagePairTrEndTimeName.setFixedSize(100, 25)
self.pagePairTrEndTimeName.setStyleSheet(self.itemNameQSS)
endTimeHbox.addWidget(self.pagePairTrEndTimeName)
self.pagePairTrEndTimeEdit = QLineEdit("2016-02-26 16:00:00")
self.pagePairTrEndTimeEdit.setEnabled(False)
self.pagePairTrEndTimeEdit.setStyleSheet(self.lineEditQSS)
self.pagePairTrEndTimeEdit.setFixedSize(300, 25)
endTimeHbox.addWidget(self.pagePairTrEndTimeEdit)
endTimeHbox.addStretch(1)
timeVbox.addLayout(endTimeHbox)
pageMainVerticalBox.addLayout(timeVbox)
self.pagePairTrTStrSpanLabel = QLabel("Trading Strategies Select", page)
self.pagePairTrTStrSpanLabel.setFixedSize(860, 25)
#.........这里部分代码省略.........
示例9: MainWindow
# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import setFixedSize [as 别名]
class MainWindow(QMainWindow):
def __init__(self, autoTradingSystem):
super(MainWindow, self).__init__()
self.ATM = autoTradingSystem
self.initUI()
def initUI(self):
self.setStyle()
self.setWindowTitle('Auto Trading System')
self.initToolBar()
self.initMenuBar()
self.initMainBoard()
self.techAnPage()
#self.pairTrPage()
# make window in center point
self.setFixedSize(1000, 700)
qr = self.frameGeometry()
qr.moveCenter(QDesktopWidget().availableGeometry().center())
self.move(qr.topLeft())
self.show()
def initMainBoard(self):
self.mainBoard = QWidget()
self.setCentralWidget(self.mainBoard)
self.pagesStatus = [0]*5
self.pages = [QWidget(self.mainBoard) for i in self.pagesStatus]
self.toolButtons
self.mainBoard.setStyleSheet(self.mainBoardQSS)
for page in self.pages: page.setStyleSheet(self.pagesQSS)
def initToolBar(self):
self.toolBar = QToolBar("Tools")
self.toolBar.setMovable(False)
self.addToolBar(Qt.LeftToolBarArea, self.toolBar)
self.toolBar.setIconSize(QSize(20, 20))
self.techAnButton = QToolButton()
self.techAnButton.setText("Technical analysis")
self.techAnButton.setFixedSize(130, 25)
self.pairTrButton = QToolButton()
self.pairTrButton.setText("Pair Trading")
self.pairTrButton.setFixedSize(130, 25)
self.atoTrdButton = QToolButton()
self.atoTrdButton.setText("Monitor")
self.atoTrdButton.setFixedSize(130, 25)
self.trdPnlButton = QToolButton()
self.trdPnlButton.setText("PnL Report")
self.trdPnlButton.setFixedSize(130, 25)
self.trdHisButton = QToolButton()
self.trdHisButton.setText("Trade History")
self.trdHisButton.setFixedSize(130, 25)
self.techAnButton.clicked.connect(self.techAnPage)
self.pairTrButton.clicked.connect(self.pairTrPage)
self.atoTrdButton.clicked.connect(self.atoTrdPage)
self.trdPnlButton.clicked.connect(self.trdPnlPage)
self.trdHisButton.clicked.connect(self.trdHisPage)
self.toolBar.addWidget(self.techAnButton)
self.toolBar.addWidget(self.pairTrButton)
self.toolBar.addWidget(self.atoTrdButton)
self.toolBar.addWidget(self.trdPnlButton)
self.toolBar.addWidget(self.trdHisButton)
self.toolButtons = [self.techAnButton, self.pairTrButton, self.atoTrdButton, self.trdPnlButton, self.trdHisButton]
def initMenuBar(self):
exitAction = QAction('&Exit', self)
exitAction.setShortcut('Ctrl+Q')
exitAction.triggered.connect(qApp.quit)
techAnAction = QAction('&Technical Analysis', self)
techAnAction.setShortcut('Ctrl+T')
techAnAction.triggered.connect(self.techAnPage)
pairTrAction = QAction('&Pair Trading', self)
pairTrAction.setShortcut('Ctrl+P')
pairTrAction.triggered.connect(self.pairTrPage)
atoTrdAction = QAction('&Monitor', self)
atoTrdAction.setShortcut('Ctrl+M')
atoTrdAction.triggered.connect(self.atoTrdPage)
trdPnlAction = QAction('&Profit And Loss Report', self)
trdPnlAction.setShortcut('Ctrl+R')
trdPnlAction.triggered.connect(self.trdPnlPage)
trdHisAction = QAction('&Trade History', self)
trdHisAction.setShortcut('Ctrl+H')
trdHisAction.triggered.connect(self.trdHisPage)
menubar = self.menuBar()
menubar.setNativeMenuBar(False)
fannsMenu = menubar.addMenu('&App')
fannsMenu.addAction(exitAction)
naviMenu = menubar.addMenu('&Navigate')
#.........这里部分代码省略.........
示例10: techAnPage
# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import setFixedSize [as 别名]
def techAnPage(self):
# hide all pages to show self page
for pi in range(0,len(self.pages)):
self.toolButtons[pi].setStyleSheet(self.toolButtonHideQSS)
self.pages[pi].hide()
print "in technical analysis page"
ci = 0
page = self.pages[ci]
self.toolButtons[ci].setStyleSheet(self.toolButtonFocusQSS)
if self.pagesStatus[ci] == 0:
self.pageTechAnConfigWidget = QWidget(page)
self.pageTechAnConfigWidget.setFixedSize(860, 700)
pageMainVerticalBox = QVBoxLayout()
pageMainVerticalBox.setContentsMargins(0, 5, 0, 0)
self.pageTechAnTitleLabel = QLabel("Technical Analysis", page)
self.pageTechAnTitleLabel.setFixedSize(860, 25)
self.pageTechAnTitleLabel.setStyleSheet(self.pageTitleQSS)
pageMainVerticalBox.addWidget(self.pageTechAnTitleLabel)
# capital config components
self.pageTechAnCapitalLabel = QLabel("Capital Config", page)
self.pageTechAnCapitalLabel.setFixedSize(860, 25)
self.pageTechAnCapitalLabel.setStyleSheet(self.pageSubTitleQSS)
pageMainVerticalBox.addWidget(self.pageTechAnCapitalLabel)
capitalHbox = QHBoxLayout()
capitalHbox.setContentsMargins(30, 10, 0, 10)
self.pageTechAnCapitalInputLabel = QLabel("Capital: ", page)
self.pageTechAnCapitalInputLabel.setFont(self.contentFont)
self.pageTechAnCapitalInputLabel.setFixedSize(100, 25)
self.pageTechAnCapitalInputLabel.setStyleSheet(self.itemNameQSS)
capitalHbox.addWidget(self.pageTechAnCapitalInputLabel)
self.pageTechAnCapitalEdit = QLineEdit("$ 100,000,000")
self.pageTechAnCapitalEdit.setStyleSheet(self.lineEditQSS)
self.pageTechAnCapitalEdit.setFixedSize(300, 25)
self.pageTechAnCapitalEdit.setEnabled(False)
capitalHbox.addWidget(self.pageTechAnCapitalEdit)
capitalHbox.addStretch(1)
pageMainVerticalBox.addLayout(capitalHbox)
# security code select components
self.pageTechAnSecurityLabel = QLabel("Security Select", page)
self.pageTechAnSecurityLabel.setFixedSize(860, 25)
self.pageTechAnSecurityLabel.setStyleSheet(self.pageSubTitleQSS)
pageMainVerticalBox.addWidget(self.pageTechAnSecurityLabel)
securityHbox = QHBoxLayout()
securityHbox.setContentsMargins(30, 10, 0, 10)
self.pageTechAnSecurityCode= QLabel("Security Code: ", page)
self.pageTechAnSecurityCode.setFont(self.contentFont)
self.pageTechAnSecurityCode.setFixedSize(100, 25)
self.pageTechAnSecurityCode.setStyleSheet(self.itemNameQSS)
securityHbox.addWidget(self.pageTechAnSecurityCode)
self.pageTechAnSecurityCombo = QComboBox(page)
self.pageTechAnSecurityCombo.setFixedSize(300, 25)
self.pageTechAnSecurityCombo.setStyleSheet(self.comboQSS)
self.pageTechAnSecurityCombo.addItem("hsi_futures_jan")
for item in self.ATM.data.getAssetList("./dataManager/data/hsi_futures"): self.pageTechAnSecurityCombo.addItem(item)
securityHbox.addWidget(self.pageTechAnSecurityCombo)
securityHbox.addStretch(1)
pageMainVerticalBox.addLayout(securityHbox)
# investment strategies select components
self.pageTechAnStrategiesLabel = QLabel("Investment Strategies Select", page)
self.pageTechAnStrategiesLabel.setFixedSize(860, 25)
self.pageTechAnStrategiesLabel.setStyleSheet(self.pageSubTitleQSS)
pageMainVerticalBox.addWidget(self.pageTechAnStrategiesLabel)
self.pageTechAnStrategiesWidget = QWidget(page)
self.pageTechAnStrategiesWidget.setFixedSize(700, 80)
strategiesGrid = QGridLayout()
strategiesGrid.setContentsMargins(30, 10, 0, 10)
self.pageTechAnStrategyCheckBoxACOscillator = QCheckBox(" ACOscillator")
self.pageTechAnStrategyCheckBoxCCICorrection= QCheckBox(" CCI Correction")
self.pageTechAnStrategyCheckBoxDMRSIADX = QCheckBox(" DM RSI ADX")
self.pageTechAnStrategyCheckBoxMACD = QCheckBox(" MACD")
self.pageTechAnStrategyCheckBoxBreakoutsSwing=QCheckBox(" Breakouts Swing")
self.pageTechAnStrategyCheckBoxOscillator313= QCheckBox(" Oscillator3 13")
self.pageTechAnStrategyCheckBoxACOscillator.setChecked(False)
self.pageTechAnStrategyCheckBoxCCICorrection.setChecked(False)
self.pageTechAnStrategyCheckBoxDMRSIADX.setChecked(False)
self.pageTechAnStrategyCheckBoxMACD.setChecked(True)
self.pageTechAnStrategyCheckBoxBreakoutsSwing.setChecked(False)
self.pageTechAnStrategyCheckBoxOscillator313.setChecked(False)
strategiesGrid.addWidget(self.pageTechAnStrategyCheckBoxACOscillator, *(1, 1))
strategiesGrid.addWidget(self.pageTechAnStrategyCheckBoxCCICorrection, *(1, 2))
strategiesGrid.addWidget(self.pageTechAnStrategyCheckBoxDMRSIADX, *(1, 3))
strategiesGrid.addWidget(self.pageTechAnStrategyCheckBoxMACD, *(2,1))
strategiesGrid.addWidget(self.pageTechAnStrategyCheckBoxBreakoutsSwing, *(2,2))
strategiesGrid.addWidget(self.pageTechAnStrategyCheckBoxOscillator313, *(2,3))
self.pageTechAnStrategiesWidget.setLayout(strategiesGrid)
pageMainVerticalBox.addWidget(self.pageTechAnStrategiesWidget)
# trading time config components
self.pageTechAnTimeSpanLabel = QLabel("Trading Time Config", page)
self.pageTechAnTimeSpanLabel.setFixedSize(860, 25)
self.pageTechAnTimeSpanLabel.setStyleSheet(self.pageSubTitleQSS)
#.........这里部分代码省略.........
示例11: __init__
# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import setFixedSize [as 别名]
def __init__(self, size, ui=True):
"""Конструктор класса Sudoku для решения задач-судоку на
игровом поле размера size ^ 2 на size ^ 2, при необходимости
производит построение интерфейса для работы интерактивной
работы
"""
self.size = size
self.n = size ** 2
# n - это размер поля, а также максимальное возможное число в
# в клетке поля. Определяется в этом месте для более понятного
# и простого кода далее
n = size ** 2
# Завершаем инициализацию, если интерфейс не нужен
if not ui:
return
# Инициализация подкласса QWidget
super().__init__()
# Окно "о программе"
self.about_msg = QMessageBox(self)
self.about_msg.setWindowTitle('Sudoku [USU Task]')
self.about_msg.setText(README_TEXT)
# Создаем меню
self.menu_init()
# Переменная с информацией для восстаовления исходного состояния
# поля после поиска решения
self.restore_data = None
# Создаем центральный виджет, в котором будут находится
# текстовые поля для редактирования и кнопки отчистки
# и поиска решения
central_widget = QWidget(self)
# fields - двумерный массив, который будет заполнен текстовыми
# полями для редактирования игрового поля Судоку
self.fields = []
# Вычисление ширины окна. Каждое текстовое поле будет иметь
# ширину 30пикс. Также учитывается разрыв (10пикс) между блоками
# размера size на size. (Их ровно size - 1)
width = n * 30 + (size - 1) * 10
# Высота вычисляется аналогично, но с учетом дополнительного
# места для кнопок управления
height = n * 30 + (size - 1) * 10 + 30
central_widget.setFixedSize(width, height)
# Заполняем двумерный массив ссылками на текстовые поля
for i in range(n):
self.fields.append([])
for j in range(n):
self.fields[i].append(QLineEdit(central_widget))
# Прибавка i // size * 10 и j // size * 10 нужны для
# создания отступа между блоками размера size на size
self.fields[i][j].setGeometry(
i // size * 10 + 30 * i,
j // size * 10 + 30 * j,
30, 30
)
# clear_btn - кнопка для отчистки игрового поля Судоку
self.clear_btn = QPushButton('Clear', central_widget)
self.clear_btn.setGeometry(0, height - 30, width // 2, 30)
self.clear_btn.clicked.connect(self.clear_fields)
# solution_btn - кнопка для запуска процесса поиска
# решеня для задачи
self.solution_btn = QPushButton('Get solution', central_widget)
self.solution_btn.setGeometry(width // 2, height - 30, width // 2, 30)
self.solution_btn.clicked.connect(self.find_solution)
# Назначем центральный виджет главному окну программы
self.setCentralWidget(central_widget)
self.layout().setSizeConstraint(QLayout.SetFixedSize)
示例12: hpc_class
# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import setFixedSize [as 别名]
#.........这里部分代码省略.........
if self.myserver.cluster==True:
self.cluster_button.setIcon(QIcon(os.path.join(get_image_file_path(),"connected.png")))
self.cluster_clean.setEnabled(True)
self.cluster_make.setEnabled(True)
self.cluster_copy_src.setEnabled(True)
self.cluster_get_info.setEnabled(True)
self.cluster_get_data.setEnabled(True)
self.cluster_off.setEnabled(True)
self.cluster_sync.setEnabled(True)
self.cluster_jobs.setEnabled(True)
self.cluster_stop.setEnabled(True)
self.cluster_view_button.setEnabled(True)
else:
self.cluster_button.setIcon(QIcon(os.path.join(get_image_file_path(),"not_connected.png")))
self.cluster_clean.setEnabled(False)
self.cluster_make.setEnabled(False)
self.cluster_copy_src.setEnabled(False)
self.cluster_get_info.setEnabled(False)
self.cluster_get_data.setEnabled(False)
self.cluster_off.setEnabled(False)
self.cluster_sync.setEnabled(False)
self.cluster_jobs.setEnabled(False)
self.cluster_stop.setEnabled(False)
self.cluster_view_button.setEnabled(False)
#def closeEvent(self, event):
# self.win_list.update(self,"hpc_window")
# self.hide()
# event.accept()
def init_job_window(self):
self.status_window=QWidget()
self.status_window.setFixedSize(900, 600)
self.status_window.setWindowIcon(QIcon(os.path.join(get_image_file_path(),"connected.png")))
self.status_window.setWindowTitle(_("Steady state simulation (www.gpvdm.com)"))
self.main_vbox = QVBoxLayout()
self.tool_bar=QToolBar()
self.tool_bar.setIconSize(QSize(42, 42))
self.cluster_get_data = QAction(QIcon(os.path.join(get_image_file_path(),"server_get_data.png")), _("Cluster get data"), self)
self.cluster_get_data.triggered.connect(self.callback_cluster_get_data)
self.tool_bar.addAction(self.cluster_get_data)
self.cluster_get_data.setEnabled(False)
self.cluster_get_info = QAction(QIcon(os.path.join(get_image_file_path(),"server_get_info.png")), _("Cluster get info"), self)
self.cluster_get_info.triggered.connect(self.callback_cluster_get_info)
self.tool_bar.addAction(self.cluster_get_info)
self.cluster_get_info.setEnabled(False)
self.cluster_copy_src = QAction(QIcon(os.path.join(get_image_file_path(),"server_copy_src.png")), _("Copy src to cluster"), self)
self.cluster_copy_src.triggered.connect(self.callback_cluster_copy_src)
self.tool_bar.addAction(self.cluster_copy_src)
self.cluster_copy_src.setEnabled(False)
self.cluster_make = QAction(QIcon(os.path.join(get_image_file_path(),"server_make.png")), _("Make on cluster"), self)
self.cluster_make.triggered.connect(self.callback_cluster_make)
self.tool_bar.addAction(self.cluster_make)
self.cluster_make.setEnabled(False)
self.cluster_clean = QAction(QIcon(os.path.join(get_image_file_path(),"server_clean.png")), _("Clean cluster"), self)
self.cluster_clean.triggered.connect(self.callback_cluster_clean)
self.tool_bar.addAction(self.cluster_clean)
示例13: init_toolbar
# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import setFixedSize [as 别名]
def init_toolbar(self):
self.toolbar = QToolBar()
self.toolbar.setFixedHeight(25)
self.toolbar.setWindowTitle("Show") # text for the contextmenu
# self.toolbar.setStyleSheet("QToolBar {border:0px}") # make it user defined?
self.toolbar.setMovable(False)
self.toolbar.setFloatable(False)
# self.toolbar.setIconSize(QSize(20,20))
self.toolbar.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)
spacer_start = QWidget() # aligns the first actions properly
spacer_start.setFixedSize(QSize(10, 1))
self.toolbar.addWidget(spacer_start)
favourite_view_icon = QIcon(gui_constants.STAR_BTN_PATH)
favourite_view_action = QAction(favourite_view_icon, "Favorites", self)
favourite_view_action.setToolTip("Show only favourite galleries")
favourite_view_action.triggered.connect(self.favourite_display) # need lambda to pass extra args
self.toolbar.addAction(favourite_view_action)
catalog_view_icon = QIcon(gui_constants.HOME_BTN_PATH)
catalog_view_action = QAction(catalog_view_icon, "Library", self)
catalog_view_action.setToolTip("Show all your galleries")
# catalog_view_action.setText("Catalog")
catalog_view_action.triggered.connect(self.catalog_display) # need lambda to pass extra args
self.toolbar.addAction(catalog_view_action)
self.toolbar.addSeparator()
gallery_menu = QMenu()
gallery_action = QToolButton()
gallery_action.setText("Gallery ")
gallery_action.setPopupMode(QToolButton.InstantPopup)
gallery_action.setToolTip("Contains various gallery related features")
gallery_action.setMenu(gallery_menu)
add_gallery_icon = QIcon(gui_constants.PLUS_PATH)
gallery_action_add = QAction(add_gallery_icon, "Add gallery", self)
gallery_action_add.triggered.connect(self.manga_list_view.SERIES_DIALOG.emit)
gallery_action_add.setToolTip("Add a single gallery thoroughly")
gallery_menu.addAction(gallery_action_add)
add_more_action = QAction(add_gallery_icon, "Add galleries...", self)
add_more_action.setStatusTip("Add galleries from different folders")
add_more_action.triggered.connect(lambda: self.populate(True))
gallery_menu.addAction(add_more_action)
populate_action = QAction(add_gallery_icon, "Populate from folder...", self)
populate_action.setStatusTip("Populates the DB with galleries from a single folder")
populate_action.triggered.connect(self.populate)
gallery_menu.addAction(populate_action)
gallery_menu.addSeparator()
metadata_action = QAction("Get metadata for all galleries", self)
metadata_action.triggered.connect(self.get_metadata)
gallery_menu.addAction(metadata_action)
self.toolbar.addWidget(gallery_action)
self.toolbar.addSeparator()
misc_action = QToolButton()
misc_action.setText("Misc ")
misc_action_menu = QMenu()
misc_action.setMenu(misc_action_menu)
misc_action.setPopupMode(QToolButton.InstantPopup)
misc_action.setToolTip("Contains misc. features")
misc_action_random = QAction("Open random gallery", misc_action_menu)
misc_action_random.triggered.connect(self.manga_list_view.open_random_gallery)
misc_action_menu.addAction(misc_action_random)
duplicate_check_simple = QAction("Simple duplicate finder", misc_action_menu)
duplicate_check_simple.triggered.connect(lambda: self.manga_list_view.duplicate_check())
misc_action_menu.addAction(duplicate_check_simple)
self.toolbar.addWidget(misc_action)
spacer_middle = QWidget() # aligns buttons to the right
spacer_middle.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
self.toolbar.addWidget(spacer_middle)
self.grid_toggle_g_icon = QIcon(gui_constants.GRID_PATH)
self.grid_toggle_l_icon = QIcon(gui_constants.LIST_PATH)
self.grid_toggle = QToolButton()
if self.display.currentIndex() == self.m_l_view_index:
self.grid_toggle.setIcon(self.grid_toggle_l_icon)
else:
self.grid_toggle.setIcon(self.grid_toggle_g_icon)
self.grid_toggle.setObjectName("gridtoggle")
self.grid_toggle.clicked.connect(self.toggle_view)
self.toolbar.addWidget(self.grid_toggle)
self.search_bar = misc.LineEdit()
if gui_constants.SEARCH_AUTOCOMPLETE:
completer = QCompleter(self)
completer.setModel(self.manga_list_view.gallery_model)
completer.setCaseSensitivity(Qt.CaseInsensitive)
completer.setCompletionMode(QCompleter.PopupCompletion)
completer.setCompletionRole(Qt.DisplayRole)
completer.setCompletionColumn(gui_constants.TITLE)
completer.setFilterMode(Qt.MatchContains)
self.search_bar.setCompleter(completer)
if gui_constants.SEARCH_ON_ENTER:
self.search_bar.returnPressed.connect(lambda: self.search(self.search_bar.text()))
else:
self.search_bar.textChanged[str].connect(self.search)
self.search_bar.setPlaceholderText("Search title, artist, namespace & tags")
self.search_bar.setMinimumWidth(150)
self.search_bar.setMaximumWidth(500)
#.........这里部分代码省略.........
示例14: WindowHead
# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import setFixedSize [as 别名]
class WindowHead(QWidget):
got_network_music_url = QtCore.pyqtSignal(str, str)
def __init__(self, parent=None):
super(WindowHead, self).__init__(parent)
# self.lab_frame = QLabel()
self.__labWindowLogo = QLabel()
self.__labWindowLogo.setFixedSize(30, 30)
self.__labWindowLogo.setStyleSheet('border-image: url(Images/logo);')
self.__lab_window_title = QLabel('<html><font color="yellow" size=4>大黄狗播放器 汪~汪~</font></html>')
# 搜索框
self.search_frame = QWidget()
self.search_frame.setFixedSize(150, 18)
self.ln_search = QLineEdit(self.search_frame)
self.ln_search.setFixedSize(self.search_frame.size())
self.ln_search.setPlaceholderText('输入歌曲名')
self.tbn_search = QToolButton(self.search_frame)
self.tbn_search.setGeometry(128, 2, 15, 15)
self.__tbnCloseWindow = QToolButton()
self.__tbnMiniWindow = QToolButton()
self.__tbnSetting = QToolButton()
self.__tbnCloseWindow.setFixedSize(11, 11)
self.__tbnMiniWindow.setFixedSize(11, 11)
self.__tbnSetting.setFixedSize(11, 11)
self.setObjectName('lab_frame')
self.ln_search.setObjectName('ln_search')
self.tbn_search.setObjectName('tbn_search')
self.__tbnCloseWindow.setObjectName('closeWindow')
self.__tbnMiniWindow.setObjectName('miniWindow')
self.__tbnSetting.setObjectName('setting')
self.setStyleSheet('''
#lab_frame{background: rgba(0, 0, 0, 120);}
#ln_search{
border: 1px; white;
border-radius: 9px;
height: 18px;
}
#tbn_search{
border-image: url(Images/search.png);
}
#closeWindow{border-image: url(Images/closeWindow);}
#closeWindow:hover{border-image: url(Images/closeWindow_hover);}
#miniWindow{border-image: url(Images/miniWindow);}
#miniWindow:hover{border-image: url(Images/miniWindow_hover);}
#setting{border-image: url(Images/setting);}
#setting:hover{border-image: url(Images/setting_hover);}
''')
self.__layout = QHBoxLayout()
self.__layout.addWidget(self.__labWindowLogo)
self.__layout.addStretch(5)
self.__layout.addWidget(self.__lab_window_title)
self.__layout.addStretch(1)
self.__layout.addWidget(self.search_frame)
self.__layout.addStretch(1)
self.__layout.addWidget(self.__tbnSetting)
self.__layout.addWidget(self.__tbnMiniWindow)
self.__layout.addWidget(self.__tbnCloseWindow)
self.__layout.setSpacing(10)
self.__layout.setContentsMargins(0, 0, 0, 0)
self.setLayout(self.__layout)
self.network = Network.NetWork()
self.__tbnCloseWindow.clicked.connect(self.parentWidget().close)
self.__tbnMiniWindow.clicked.connect(self.parentWidget().showMinimized)
self.tbn_search.clicked.connect(self.get_music_play_url)
def get_music_play_url(self):
music_name = self.ln_search.text()
music_url_play_url = self.network.get_music_play_url(music_name)
self.got_network_music_url.emit(music_name, music_url_play_url)
print(music_url_play_url)
示例15: init_toolbar
# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import setFixedSize [as 别名]
def init_toolbar(self):
self.toolbar = QToolBar()
self.toolbar.setFixedHeight(25)
self.toolbar.setWindowTitle("Show") # text for the contextmenu
#self.toolbar.setStyleSheet("QToolBar {border:0px}") # make it user defined?
self.toolbar.setMovable(False)
self.toolbar.setFloatable(False)
#self.toolbar.setIconSize(QSize(20,20))
self.toolbar.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)
self.toolbar.setIconSize(QSize(20,20))
spacer_start = QWidget() # aligns the first actions properly
spacer_start.setFixedSize(QSize(10, 1))
self.toolbar.addWidget(spacer_start)
self.favourite_btn = misc.ToolbarButton(self.toolbar, 'Favorites')
self.toolbar.addWidget(self.favourite_btn)
self.favourite_btn.clicked.connect(self.favourite_display) #need lambda to pass extra args
self.library_btn = misc.ToolbarButton(self.toolbar, 'Library')
self.toolbar.addWidget(self.library_btn)
self.library_btn.clicked.connect(self.catalog_display) #need lambda to pass extra args
self.library_btn.selected = True
self.toolbar.addSeparator()
gallery_menu = QMenu()
gallery_action = QToolButton()
gallery_action.setText('Gallery ')
gallery_action.setPopupMode(QToolButton.InstantPopup)
gallery_action.setToolTip('Contains various gallery related features')
gallery_action.setMenu(gallery_menu)
add_gallery_icon = QIcon(app_constants.PLUS_PATH)
gallery_action_add = QAction(add_gallery_icon, "Add single gallery...", self)
gallery_action_add.triggered.connect(self.manga_list_view.SERIES_DIALOG.emit)
gallery_action_add.setToolTip('Add a single gallery thoroughly')
gallery_menu.addAction(gallery_action_add)
add_more_action = QAction(add_gallery_icon, "Add galleries...", self)
add_more_action.setStatusTip('Add galleries from different folders')
add_more_action.triggered.connect(lambda: self.populate(True))
gallery_menu.addAction(add_more_action)
populate_action = QAction(add_gallery_icon, "Populate from directory/archive...", self)
populate_action.setStatusTip('Populates the DB with galleries from a single folder or archive')
populate_action.triggered.connect(self.populate)
gallery_menu.addAction(populate_action)
gallery_menu.addSeparator()
metadata_action = QAction('Get metadata for all galleries', self)
metadata_action.triggered.connect(self.get_metadata)
gallery_menu.addAction(metadata_action)
scan_galleries_action = QAction('Scan for new galleries', self)
scan_galleries_action.triggered.connect(self.scan_for_new_galleries)
scan_galleries_action.setStatusTip('Scan monitored folders for new galleries')
gallery_menu.addAction(scan_galleries_action)
gallery_action_random = gallery_menu.addAction("Open random gallery")
gallery_action_random.triggered.connect(self.manga_list_view.open_random_gallery)
self.toolbar.addWidget(gallery_action)
misc_action = QToolButton()
misc_action.setText('Tools ')
misc_action_menu = QMenu()
misc_action.setMenu(misc_action_menu)
misc_action.setPopupMode(QToolButton.InstantPopup)
misc_action.setToolTip("Contains misc. features")
gallery_downloader = QAction("Gallery Downloader", misc_action_menu)
gallery_downloader.triggered.connect(self.download_window.show)
misc_action_menu.addAction(gallery_downloader)
duplicate_check_simple = QAction("Simple Duplicate Finder", misc_action_menu)
duplicate_check_simple.triggered.connect(lambda: self.manga_list_view.duplicate_check())
misc_action_menu.addAction(duplicate_check_simple)
self.toolbar.addWidget(misc_action)
spacer_middle = QWidget() # aligns buttons to the right
spacer_middle.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
self.toolbar.addWidget(spacer_middle)
sort_action = QToolButton()
sort_action.setIcon(QIcon(app_constants.SORT_PATH))
sort_action.setMenu(misc.SortMenu(self.toolbar, self.manga_list_view))
sort_action.setPopupMode(QToolButton.InstantPopup)
self.toolbar.addWidget(sort_action)
self.grid_toggle_g_icon = QIcon(app_constants.GRID_PATH)
self.grid_toggle_l_icon = QIcon(app_constants.LIST_PATH)
self.grid_toggle = QToolButton()
if self.display.currentIndex() == self.m_l_view_index:
self.grid_toggle.setIcon(self.grid_toggle_l_icon)
else:
self.grid_toggle.setIcon(self.grid_toggle_g_icon)
self.grid_toggle.setObjectName('gridtoggle')
self.grid_toggle.clicked.connect(self.toggle_view)
self.toolbar.addWidget(self.grid_toggle)
spacer_mid2 = QWidget()
spacer_mid2.setFixedSize(QSize(5, 1))
self.toolbar.addWidget(spacer_mid2)
def set_search_case(b):
app_constants.GALLERY_SEARCH_CASE = b
#.........这里部分代码省略.........