本文整理汇总了Python中PyQt5.QtWidgets.QLCDNumber.setSegmentStyle方法的典型用法代码示例。如果您正苦于以下问题:Python QLCDNumber.setSegmentStyle方法的具体用法?Python QLCDNumber.setSegmentStyle怎么用?Python QLCDNumber.setSegmentStyle使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PyQt5.QtWidgets.QLCDNumber
的用法示例。
在下文中一共展示了QLCDNumber.setSegmentStyle方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: CountDownWidget
# 需要导入模块: from PyQt5.QtWidgets import QLCDNumber [as 别名]
# 或者: from PyQt5.QtWidgets.QLCDNumber import setSegmentStyle [as 别名]
class CountDownWidget(QWidget):
'''
classdocs
'''
def __init__(self, parent=None):
'''
Constructor
'''
QWidget.__init__(self, parent=parent)
self.interval = 10
self.setup_ui()
'''
実際の初期化関数
'''
def setup_ui(self):
self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
self.timer = QTimer(parent=self)
self.timer.setInterval(self.interval)
self.timer.timeout.connect(self.do_countdown)
self.lcd_number = QLCDNumber(parent=self)
self.lcd_number.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
self.lcd_number.setFrameStyle(QFrame.NoFrame)
self.lcd_number.setSegmentStyle(QLCDNumber.Flat)
self.lcd_number.setDigitCount(6)
layout = QVBoxLayout()
layout.addWidget(self.lcd_number)
self.setLayout(layout)
self.reset_count()
def update_display(self):
self.lcd_number.display("%6.2f" % (self.count / 100))
self.lcd_number.update()
def do_countdown(self):
self.count -= 1
self.update_display()
if self.count <= 0:
self.stopcountdown()
def start_countdown(self):
if self.count > 0:
self.timer.start()
def stop_countdown(self):
self.timer.stop()
def reset_count(self):
self.count = 18000
self.update_display()
示例2: CountDownTimer
# 需要导入模块: from PyQt5.QtWidgets import QLCDNumber [as 别名]
# 或者: from PyQt5.QtWidgets.QLCDNumber import setSegmentStyle [as 别名]
class CountDownTimer(QLCDNumber):
"""
time_allocation: positive integer, indicating the allocated time for user
time_value: started as time_allocation, and dynamically changed every second
"""
def __init__(self, time_allocation=15, parent=None):
super(CountDownTimer, self).__init__(parent)
self.time_allocation = time_allocation
self.time_value = self.time_allocation
# timer
self.timer = QTimer(self)
self.timer.timeout.connect(self.advance_time)
# LCD time display
self.lcd = QLCDNumber(self)
self.lcd.setDigitCount(3)
self.lcd.setSegmentStyle(QLCDNumber.Flat)
self.lcd.display(self.time_value)
def restart_timer(self):
self.time_value = self.time_allocation
self.lcd.display(self.time_value)
palette = self.lcd.palette()
palette.setColor(palette.WindowText, QColor(0, 0, 0))
self.lcd.setPalette(palette)
self.timer.start(1000)
def advance_time(self):
self.time_value -= 1
# Yellow - five seconds left
if self.time_value == 5:
palette = self.lcd.palette()
palette.setColor(palette.WindowText, QColor(255, 153, 0))
self.lcd.setPalette(palette)
# Red - no time left
if self.time_value == 0:
palette = self.lcd.palette()
palette.setColor(palette.WindowText, QColor(255, 0, 0))
self.lcd.setPalette(palette)
self.lcd.display(self.time_value)
示例3: __init__
# 需要导入模块: from PyQt5.QtWidgets import QLCDNumber [as 别名]
# 或者: from PyQt5.QtWidgets.QLCDNumber import setSegmentStyle [as 别名]
def __init__(self):
super().__init__()
self.setAcceptDrops(True)
self.game = Game(4) # Make game with 4 players
self.sig = Signals()
endTurnButton = QPushButton("&EndTurn", self)
endTurnButton.clicked.connect(self.endTurn)
endTurnButton.move(1260, 720)
turnLcd = QLCDNumber(3, self)
turnLcd.move(90, 715)
turnLcd.setSegmentStyle(QLCDNumber.Filled)
turnLcd.resize(60, 40)
turnTxt = QLabel("Turn:", self)
turnFont = QFont()
turnFont.setPointSize(20)
turnTxt.setFont(turnFont)
turnTxt.move(20, 720)
self.sig.turnChanged.connect(turnLcd.display)
self.sig.turnChanged.emit(self.game.turn)
quitB = QPushButton("&Quit", self)
quitB.clicked.connect(self.quit)
quitB.move(1150, 720)
self.showPlayerInfo()
self.coords = []
self.setWindowTitle("Territory War")
n = self.game.map.dim
self.makeMap(1100 // n, 600 // n, n)
self.setWindowState(Qt.WindowFullScreen)
self.setFixedSize(self.size())
self.showArmies()
self.addDiplomacyLabels()
thread = threading.Thread(target=self.game.start, args=(0, ))
thread.start()
示例4: __init__
# 需要导入模块: from PyQt5.QtWidgets import QLCDNumber [as 别名]
# 或者: from PyQt5.QtWidgets.QLCDNumber import setSegmentStyle [as 别名]
def __init__(self):
super(TetrixWindow, self).__init__()
self.board = TetrixBoard()
nextPieceLabel = QLabel()
nextPieceLabel.setFrameStyle(QFrame.Box | QFrame.Raised)
nextPieceLabel.setAlignment(Qt.AlignCenter)
self.board.setNextPieceLabel(nextPieceLabel)
scoreLcd = QLCDNumber(5)
scoreLcd.setSegmentStyle(QLCDNumber.Filled)
levelLcd = QLCDNumber(2)
levelLcd.setSegmentStyle(QLCDNumber.Filled)
linesLcd = QLCDNumber(5)
linesLcd.setSegmentStyle(QLCDNumber.Filled)
startButton = QPushButton("&Start")
startButton.setFocusPolicy(Qt.NoFocus)
quitButton = QPushButton("&Quit")
quitButton.setFocusPolicy(Qt.NoFocus)
pauseButton = QPushButton("&Pause")
pauseButton.setFocusPolicy(Qt.NoFocus)
startButton.clicked.connect(self.board.start)
pauseButton.clicked.connect(self.board.pause)
quitButton.clicked.connect(QApplication.instance().quit)
self.board.scoreChanged.connect(scoreLcd.display)
self.board.levelChanged.connect(levelLcd.display)
self.board.linesRemovedChanged.connect(linesLcd.display)
layout = QGridLayout()
layout.addWidget(self.createLabel("NEXT"), 0, 0)
layout.addWidget(nextPieceLabel, 1, 0)
layout.addWidget(self.createLabel("LEVEL"), 2, 0)
layout.addWidget(levelLcd, 3, 0)
layout.addWidget(startButton, 4, 0)
layout.addWidget(self.board, 0, 1, 6, 1)
layout.addWidget(self.createLabel("SCORE"), 0, 2)
layout.addWidget(scoreLcd, 1, 2)
layout.addWidget(self.createLabel("LINES REMOVED"), 2, 2)
layout.addWidget(linesLcd, 3, 2)
layout.addWidget(quitButton, 4, 2)
layout.addWidget(pauseButton, 5, 2)
self.setLayout(layout)
self.setWindowTitle("Tetrix")
self.resize(550, 370)
示例5: CueWidget
# 需要导入模块: from PyQt5.QtWidgets import QLCDNumber [as 别名]
# 或者: from PyQt5.QtWidgets.QLCDNumber import setSegmentStyle [as 别名]
class CueWidget(QWidget):
STOP = QIcon.fromTheme('led-off')
START = QIcon.fromTheme('led-running')
PAUSE = QIcon.fromTheme('led-pause')
ERROR = QIcon.fromTheme('led-error')
ICON_SIZE = 14
context_menu_request = pyqtSignal(object, QPoint)
edit_request = pyqtSignal(object)
cue_executed = pyqtSignal(object)
def __init__(self, cue, **kwargs):
super().__init__(**kwargs)
self.cue = None
self._selected = False
self._accurate_timing = False
self._show_dbmeter = False
self._countdown_mode = True
self._dbmeter_element = None
self._fade_element = None
self.setAttribute(Qt.WA_TranslucentBackground)
self.setLayout(QGridLayout())
self.layout().setContentsMargins(0, 0, 0, 0)
self.layout().setSpacing(2)
self.layout().setColumnStretch(0, 6)
self.layout().setRowStretch(0, 4)
self.nameButton = QClickLabel(self)
self.nameButton.setObjectName('ButtonCueWidget')
self.nameButton.setWordWrap(True)
self.nameButton.setAlignment(Qt.AlignCenter)
self.nameButton.setFocusPolicy(Qt.NoFocus)
self.nameButton.clicked.connect(self._clicked)
self.nameButton.setSizePolicy(QSizePolicy.Ignored, QSizePolicy.Ignored)
self.layout().addWidget(self.nameButton, 0, 0)
self.statusIcon = QLabel(self.nameButton)
self.statusIcon.setStyleSheet('background-color: transparent')
self.statusIcon.setPixmap(CueWidget.STOP.pixmap(CueWidget.ICON_SIZE,
CueWidget.ICON_SIZE))
self.seekSlider = QClickSlider(self.nameButton)
self.seekSlider.setOrientation(Qt.Horizontal)
self.seekSlider.setFocusPolicy(Qt.NoFocus)
self.seekSlider.setVisible(False)
self.dbMeter = QDbMeter(self)
self.dbMeter.setSizePolicy(QSizePolicy.Ignored, QSizePolicy.Ignored)
self.dbMeter.setVisible(False)
self.timeBar = QProgressBar(self)
self.timeBar.setTextVisible(False)
self.timeBar.setLayout(QHBoxLayout())
self.timeBar.layout().setContentsMargins(0, 0, 0, 0)
self.timeDisplay = QLCDNumber(self.timeBar)
self.timeDisplay.setStyleSheet('background-color: transparent')
self.timeDisplay.setSegmentStyle(QLCDNumber.Flat)
self.timeDisplay.setDigitCount(8)
self.timeDisplay.display('00:00:00')
self.timeBar.layout().addWidget(self.timeDisplay)
self.timeBar.setSizePolicy(QSizePolicy.Ignored, QSizePolicy.Ignored)
self.timeBar.setVisible(False)
self._set_cue(cue)
@property
def selected(self):
return self._selected
@selected.setter
def selected(self, value):
self._selected = value
self._update_style(self.cue.stylesheet)
def contextMenuEvent(self, event):
self.context_menu_request.emit(self, event.globalPos())
def mouseMoveEvent(self, event):
if (event.buttons() == Qt.LeftButton and
(event.modifiers() == Qt.ControlModifier or
event.modifiers() == Qt.ShiftModifier)):
mime_data = QMimeData()
mime_data.setText(PageWidget.DRAG_MAGIC)
drag = QDrag(self)
drag.setMimeData(mime_data)
drag.setPixmap(self.grab(self.rect()))
if event.modifiers() == Qt.ControlModifier:
drag.exec_(Qt.MoveAction)
else:
drag.exec_(Qt.CopyAction)
event.accept()
#.........这里部分代码省略.........
示例6: Objetives
# 需要导入模块: from PyQt5.QtWidgets import QLCDNumber [as 别名]
# 或者: from PyQt5.QtWidgets.QLCDNumber import setSegmentStyle [as 别名]
class Objetives(QWidget):
NumButtons = 3
def __init__(self, parent=None):
super(Objetives, self).__init__(parent)
self.createDisplay()
self.createDisplayAverage()
self.createButtons()
self.numVictory = 0
self.numLosses = 0
mainLayout = QGridLayout()
mainLayout.addWidget(self.displayLCD)
mainLayout.addWidget(self.horizontalGroupBox)
mainLayout.addWidget(self.displayWinPercent)
self.setLayout(mainLayout)
self.setWindowTitle("Objetives")
def createButtons(self):
self.horizontalGroupBox = QGroupBox("")
layout = QGridLayout()
self.victoryButton = self.createButton("Victory", "+",self.addVictoryOrLosses)
self.lossesButton = self.createButton("Losses", "+",self.addVictoryOrLosses)
self.victoryDecreaseButton = self.createButton("DV","-",self.addVictoryOrLosses)
self.losseDecreaseButton = self.createButton("DL","-",self.addVictoryOrLosses)
self.lossesButton.setMinimumWidth(150)
self.victoryButton.setMinimumWidth(150)
self.losseDecreaseButton.setMaximumHeight(20)
self.victoryDecreaseButton.setMaximumHeight(20)
layout.addWidget(self.victoryButton, 0, 0, 1, 1)
layout.addWidget(self.lossesButton, 0, 2, 1, 1)
layout.addWidget(self.victoryDecreaseButton, 1, 0, 1, 1)
layout.addWidget(self.losseDecreaseButton, 1, 2, 1, 1)
self.horizontalGroupBox.setLayout(layout)
def createDisplayAverage(self):
self.displayWinPercent = QGroupBox("Wins")
layout = QHBoxLayout()
self.progressBar = QProgressBar()
self.progressBar.setRange(0, 100)
# self.progressBar.setValue(5000)
layout.addWidget(self.progressBar)
self.displayWinPercent.setLayout(layout)
def createDisplay(self):
self.displayLCD = QGroupBox("")
layout = QHBoxLayout()
paletteLosses = QPalette()
paletteVictory = QPalette()
paletteLosses.setColor(paletteLosses.WindowText, QColor(255, 000, 000))
paletteVictory.setColor(paletteVictory.WindowText, QColor(000, 255, 000))
self.lossesLcd = QLCDNumber(3)
self.lossesLcd.setSegmentStyle(QLCDNumber.Filled)
self.lossesLcd.setPalette(paletteLosses)
self.victoryLcd = QLCDNumber(3)
self.victoryLcd.setSegmentStyle(QLCDNumber.Filled)
self.victoryLcd.setPalette(paletteVictory)
self.lossesLcd.setMinimumHeight(100)
self.victoryLcd.setMinimumHeight(100)
self.lossesLcd.setMinimumWidth(150)
self.victoryLcd.setMinimumWidth(150)
layout.addWidget(self.victoryLcd)
layout.addWidget(self.lossesLcd)
self.displayLCD.setLayout(layout)
def addVictoryOrLosses(self):
clickedButton = self.sender()
clickedOperator = clickedButton.text()
operand = float(1)
if clickedOperator == "Victory":
self.numVictory = self.numVictory + 1
self.victoryLcd.display(str(self.numVictory))
if clickedOperator == "DV":
self.numVictory = self.numVictory - 1
self.victoryLcd.display(str(self.numVictory))
if clickedOperator == "Losses":
self.numLosses = self.numLosses + 1
#.........这里部分代码省略.........
示例7: Ui_Widget
# 需要导入模块: from PyQt5.QtWidgets import QLCDNumber [as 别名]
# 或者: from PyQt5.QtWidgets.QLCDNumber import setSegmentStyle [as 别名]
class Ui_Widget(object):
""" Klasa definiująca GUI """
def setupUi(self, Widget):
# widgety rysujące kształty, instancje klasy Ksztalt
self.ksztalt1 = Ksztalt(self, Ksztalty.Polygon)
self.ksztalt2 = Ksztalt(self, Ksztalty.Ellipse)
self.ksztaltAktywny = self.ksztalt1
# przyciski CheckBox ###
uklad = QVBoxLayout() # układ pionowy
self.grupaChk = QButtonGroup()
for i, v in enumerate(('Kwadrat', 'Koło', 'Trójkąt', 'Linia')):
self.chk = QCheckBox(v)
self.grupaChk.addButton(self.chk, i)
uklad.addWidget(self.chk)
self.grupaChk.buttons()[self.ksztaltAktywny.ksztalt].setChecked(True)
# CheckBox do wyboru aktywnego kształtu
self.ksztaltChk = QCheckBox('<=')
self.ksztaltChk.setChecked(True)
uklad.addWidget(self.ksztaltChk)
# układ poziomy dla kształtów oraz przycisków CheckBox
ukladH1 = QHBoxLayout()
ukladH1.addWidget(self.ksztalt1)
ukladH1.addLayout(uklad)
ukladH1.addWidget(self.ksztalt2)
# koniec CheckBox ###
# Slider i LCDNumber ###
self.suwak = QSlider(Qt.Horizontal)
self.suwak.setMinimum(0)
self.suwak.setMaximum(255)
self.lcd = QLCDNumber()
self.lcd.setSegmentStyle(QLCDNumber.Flat)
# układ poziomy (splitter) dla slajdera i lcd
ukladH2 = QSplitter(Qt.Horizontal, self)
ukladH2.addWidget(self.suwak)
ukladH2.addWidget(self.lcd)
ukladH2.setSizes((125, 75))
# przyciski RadioButton ###
self.ukladR = QHBoxLayout()
for v in ('R', 'G', 'B'):
self.radio = QRadioButton(v)
self.ukladR.addWidget(self.radio)
self.ukladR.itemAt(0).widget().setChecked(True)
# grupujemy przyciski
self.grupaRBtn = QGroupBox('Opcje RGB')
self.grupaRBtn.setLayout(self.ukladR)
self.grupaRBtn.setObjectName('Radio')
self.grupaRBtn.setCheckable(True)
# układ poziomy dla grupy Radio
ukladH3 = QHBoxLayout()
ukladH3.addWidget(self.grupaRBtn)
# koniec RadioButton ###
# Lista ComboBox i SpinBox ###
self.listaRGB = QComboBox(self)
for v in ('R', 'G', 'B'):
self.listaRGB.addItem(v)
self.listaRGB.setEnabled(False)
# SpinBox
self.spinRGB = QSpinBox()
self.spinRGB.setMinimum(0)
self.spinRGB.setMaximum(255)
self.spinRGB.setEnabled(False)
# układ pionowy dla ComboBox i SpinBox
uklad = QVBoxLayout()
uklad.addWidget(self.listaRGB)
uklad.addWidget(self.spinRGB)
# do układu poziomego grupy Radio dodajemy układ ComboBox i SpinBox
ukladH3.insertSpacing(1, 25)
ukladH3.addLayout(uklad)
# koniec ComboBox i SpinBox ###
# przyciski PushButton ###
uklad = QHBoxLayout()
self.grupaP = QButtonGroup()
self.grupaP.setExclusive(False)
for v in ('R', 'G', 'B'):
self.btn = QPushButton(v)
self.btn.setCheckable(True)
self.grupaP.addButton(self.btn)
uklad.addWidget(self.btn)
# grupujemy przyciski
self.grupaPBtn = QGroupBox('Przyciski RGB')
self.grupaPBtn.setLayout(uklad)
self.grupaPBtn.setObjectName('Push')
self.grupaPBtn.setCheckable(True)
self.grupaPBtn.setChecked(False)
# koniec PushButton ###
# główny układ okna, wertykalny ###
ukladOkna = QVBoxLayout()
ukladOkna.addLayout(ukladH1)
ukladOkna.addWidget(ukladH2)
ukladOkna.addLayout(ukladH3)
ukladOkna.addWidget(self.grupaPBtn)
#.........这里部分代码省略.........
示例8: SinglePlayerGame
# 需要导入模块: from PyQt5.QtWidgets import QLCDNumber [as 别名]
# 或者: from PyQt5.QtWidgets.QLCDNumber import setSegmentStyle [as 别名]
class SinglePlayerGame(QWidget):
def __init__(self, difficulty=1, numberOfGames=1):
super(SinglePlayerGame, self).__init__()
self.difficulty = difficulty
self.numberOfGames = numberOfGames
self.gamesPlayed = 0
self.playerScore = 0
self.opponentScore = 0
self.playerIsNotFirst = False
self.gamesCounter = QLabel()
self.gamesCounter.setAlignment(Qt.AlignHCenter | Qt.AlignVCenter)
self.updateGameCounter()
mainLayout = QVBoxLayout()
self.gameWidget = BotGame(self.getOpponent())
self.gameWidget.gameEnded.connect(self.updateScoreAndReset)
self.saveButton = QPushButton('Save series')
self.saveButton.clicked.connect(self.saveGame)
self.message = self.createLabel('')
self.message.hide()
mainLayout.addLayout(self.createScoreLayout())
mainLayout.addWidget(self.gameWidget)
mainLayout.addWidget(self.message)
pack = self.packInHStretch([self.gamesCounter, self.saveButton])
mainLayout.addLayout(pack)
self.setLayout(mainLayout)
def createScoreLayout(self):
self.playerScoreLcd = QLCDNumber(2)
self.playerScoreLcd.setSegmentStyle(QLCDNumber.Filled)
self.playerScoreLcd.setMinimumSize(75, 50)
self.playerScoreLcd.display(0)
self.opponentScoreLcd = QLCDNumber(2)
self.opponentScoreLcd.setSegmentStyle(QLCDNumber.Filled)
self.opponentScoreLcd.setMinimumSize(75, 50)
self.opponentScoreLcd.display(0)
layout = QHBoxLayout()
layout.addStretch(1)
layout.addWidget(self.createLabel('You: '))
layout.addWidget(self.playerScoreLcd)
layout.addStretch(1)
layout.addWidget(self.createLabel('Opponent: '))
layout.addWidget(self.opponentScoreLcd)
layout.addStretch(1)
return layout
def packInHStretch(self, widgets):
layout = QHBoxLayout()
layout.addStretch(1)
for widget in widgets:
layout.addWidget(widget)
layout.addStretch(1)
return layout
def displayMessage(self, message):
self.message.setText(message)
self.message.show()
self.repaint()
def hideMessage(self):
self.message.hide()
self.repaint()
def updateScoreAndReset(self):
self.gamesPlayed += 1
self.playerIsNotFirst = not self.playerIsNotFirst
result = self.gameWidget.board.state
message = ''
if result == game.boards.State.X_WON:
self.playerScore += 3
message = 'Congrats! You won the game!'
elif result == game.boards.State.O_WON:
self.opponentScore += 3
message = 'Sorry! You lost the game!'
elif result == game.boards.State.DRAW:
self.playerScore += 1
self.opponentScore += 1
message = 'The game ended in a draw!'
self.displayMessage(message)
self.playerScoreLcd.display(self.playerScore)
self.opponentScoreLcd.display(self.opponentScore)
if self.numberOfGames > self.gamesPlayed:
for i in range(3, 0, -1):
self.displayMessage(message + ' New game starting in ' +
str(i))
time.sleep(1)
self.hideMessage()
self.gameWidget.reset(self.playerIsNotFirst)
self.updateGameCounter()
else:
self.announceResult()
def announceResult(self):
if self.playerScore > self.opponentScore:
self.displayMessage('Congrats! You won the series!')
elif self.playerScore < self.opponentScore:
self.displayMessage('Sorry. You lost the series!')
else:
#.........这里部分代码省略.........
示例9: PlayingMediaWidget
# 需要导入模块: from PyQt5.QtWidgets import QLCDNumber [as 别名]
# 或者: from PyQt5.QtWidgets.QLCDNumber import setSegmentStyle [as 别名]
class PlayingMediaWidget(QWidget):
def __init__(self, cue, **kwargs):
super().__init__(**kwargs)
self.cue = cue
self.cue_time = CueTime(cue)
self.cue_time.notify.connect(self._time_updated, Connection.QtQueued)
self._dbmeter_element = None
self._accurate_time = False
scroll_size = (self.parent().verticalScrollBar().width() + 5)
self.setGeometry(0, 0, self.parent().width() - scroll_size, 102)
self.setFocusPolicy(Qt.NoFocus)
self.gridLayoutWidget = QWidget(self)
self.gridLayoutWidget.setGeometry(self.geometry())
self.gridLayout = QGridLayout(self.gridLayoutWidget)
self.gridLayout.setContentsMargins(2, 2, 2, 2)
self.nameLabel = QLabel(self.gridLayoutWidget)
self.nameLabel.setSizePolicy(QSizePolicy.Ignored, QSizePolicy.Ignored)
self.nameLabel.setText(cue.name)
self.nameLabel.setToolTip(cue.name)
self.gridLayout.addWidget(self.nameLabel, 0, 0, 1, 3)
self.playPauseButton = QPushButton(self.gridLayoutWidget)
self.playPauseButton.setSizePolicy(QSizePolicy.Ignored,
QSizePolicy.Ignored)
self.playPauseButton.setIcon(QIcon.fromTheme('media-playback-pause'))
self.playPauseButton.setIconSize(QSize(24, 24))
self.playPauseButton.setFocusPolicy(Qt.NoFocus)
self.playPauseButton.clicked.connect(self._pause)
self.gridLayout.addWidget(self.playPauseButton, 1, 0)
self.stopButton = QPushButton(self.gridLayoutWidget)
self.stopButton.setSizePolicy(QSizePolicy.Ignored, QSizePolicy.Ignored)
self.stopButton.setIcon(QIcon.fromTheme('media-playback-stop'))
self.stopButton.setIconSize(QSize(24, 24))
self.stopButton.setFocusPolicy(Qt.NoFocus)
self.stopButton.clicked.connect(self._stop)
self.gridLayout.addWidget(self.stopButton, 1, 1)
self.timeDisplay = QLCDNumber(self.gridLayoutWidget)
self.timeDisplay.setStyleSheet('background-color: transparent')
self.timeDisplay.setSegmentStyle(QLCDNumber.Flat)
self.timeDisplay.setDigitCount(8)
self.timeDisplay.display(strtime(cue.media.duration))
self.gridLayout.addWidget(self.timeDisplay, 1, 2)
self.seekSlider = QClickSlider(self.gridLayoutWidget)
self.seekSlider.setOrientation(Qt.Horizontal)
self.seekSlider.setRange(0, cue.media.duration)
self.seekSlider.setFocusPolicy(Qt.NoFocus)
self.seekSlider.sliderMoved.connect(self._seek)
self.seekSlider.sliderJumped.connect(self._seek)
self.seekSlider.setVisible(False)
self.dbmeter = QDbMeter(self.gridLayoutWidget)
self.dbmeter.setVisible(False)
self.gridLayout.setRowStretch(0, 1)
self.gridLayout.setRowStretch(1, 2)
self.gridLayout.setColumnStretch(0, 3)
self.gridLayout.setColumnStretch(1, 3)
self.gridLayout.setColumnStretch(2, 5)
cue.changed('name').connect(self.name_changed)
cue.media.changed('duration').connect(self.update_duration)
cue.media.played.connect(self._pause_to_play)
cue.media.paused.connect(self._play_to_pause)
self.fade = self.cue.media.element('Fade')
if self.fade is not None:
self.fade.enter_fadein.connect(self.enter_fadein)
self.fade.enter_fadeout.connect(self.enter_fadeout)
self.fade.exit_fadein.connect(self.exit_fade)
self.fade.exit_fadeout.connect(self.exit_fade)
def enter_fadeout(self):
p = self.timeDisplay.palette()
p.setColor(p.Text, QColor(255, 50, 50))
self.timeDisplay.setPalette(p)
def enter_fadein(self):
p = self.timeDisplay.palette()
p.setColor(p.Text, QColor(0, 255, 0))
self.timeDisplay.setPalette(p)
def exit_fade(self):
self.timeDisplay.setPalette(self.palette())
def name_changed(self, name):
self.nameLabel.setText(name)
self.nameLabel.setToolTip(name)
def set_accurate_time(self, enable):
self._accurate_time = enable
#.........这里部分代码省略.........
示例10: __init__
# 需要导入模块: from PyQt5.QtWidgets import QLCDNumber [as 别名]
# 或者: from PyQt5.QtWidgets.QLCDNumber import setSegmentStyle [as 别名]
def __init__(self):
super(SplendorWindow, self).__init__()
self.setWindowTitle("Splendor")
self.resize(950, 670)
self.board = SplendorBoard()
layout = QGridLayout()
self.game_table = SplendorTable()
layout_cards = QGridLayout()
layout_chips = QGridLayout()
layout_lords = QGridLayout()
scoreLcd = QLCDNumber(2)
scoreLcd.setSegmentStyle(QLCDNumber.Filled)
layout.addWidget(self.createLabel("Name: "), 0, 0)
layout.addWidget(self.createLabel("Sandy"), 0, 1)
layout.addWidget(self.createLabel("Score: "), 0, 2)
layout.addWidget(scoreLcd, 0, 3)
self.frame_cards = QFrame()
self.frame_cards.setFrameStyle(QFrame.Box | QFrame.Raised)
self.frame_cards.setLayout(layout_cards)
self.frame_chips = QFrame()
self.frame_chips.setFrameStyle(QFrame.Box | QFrame.Raised)
frame_lords = QFrame()
frame_lords.setFrameStyle(QFrame.Box | QFrame.Raised)
layout.addWidget(self.frame_cards, 2, 0, 4, 5)
layout.addWidget(self.frame_chips, 2, 6, 4, 2)
#layout.addWidget(frame_lords, 2, 10)
self.frame_chips.setLayout(layout_chips)
frame_lords.setLayout(layout_lords)
for r in (0, 4, 8):
row = self.game_table.state[int(r / 4)]
bord_line_cards = []
indent = 0
for i in range(4):
card = row[i]
bord_line_cards.append(self.createCardSelector(card, self.frame_cards))
layout_cards.addWidget(self.createCard(card, self.frame_cards), 0 + r, indent, 3, 2)
layout_cards.addWidget(bord_line_cards[i], 3 + r, indent)
indent += 2
self.setLayout(layout)
rr = 0
for r in (0, 2, 4):
row = self.game_table.state[int(r / 2)]
bord_line_chips = []
indent = 0
for i in range(2):
chip = row[4 + i]
bord_line_chips.append(self.createChipSelector(chip, self.frame_chips))
layout_chips.addWidget(self.createChip(chip, self.frame_chips), 0 + rr, 0, 4, 2)
layout_chips.addWidget(bord_line_chips[i], 2 + rr, 0)
rr += 2
self.setLayout(layout)
示例11: GamePlayerWidget
# 需要导入模块: from PyQt5.QtWidgets import QLCDNumber [as 别名]
# 或者: from PyQt5.QtWidgets.QLCDNumber import setSegmentStyle [as 别名]
class GamePlayerWidget(QGroupBox):
def __init__(self, nick, colour=None, parent=None):
super(GamePlayerWidget, self).__init__(parent)
self.player = nick
self.pcolour = colour
self.initUI()
def initUI(self):
# self.setMinimumWidth(300)
self.mainLayout = QHBoxLayout(self)
# self.mainLayout.addStretch()
self.scoreLCD = QLCDNumber(self)
self.scoreLCD.setSegmentStyle(QLCDNumber.Flat)
self.mainLayout.addWidget(self.scoreLCD)
self.scoreLCD.setNumDigits(3)
self.scoreLCD.setFixedSize(100, 60)
self.scoreLCD.display(0)
css = "QLCDNumber {{ color:rgb({},{},{});}}"
self.scoreLCD.setStyleSheet(css.format(self.pcolour.red(),
self.pcolour.green(),
self.pcolour.blue()))
self.nameLabel = QLabel(self)
self.nameLabel.setText(self.player)
sh = ("QLabel {{ font-size: 32px; font-weight: "
"bold; color:rgb({},{},{});}}")
self.nameLabel.setStyleSheet(sh.format(self.pcolour.red(),
self.pcolour.green(),
self.pcolour.blue()))
self.mainLayout.addWidget(self.nameLabel)
self.dealerPixmap = QtGui.QPixmap('icons/cards.png')
self.nonDealerPixmap = QtGui.QPixmap()
self.winnerPixmap = QtGui.QPixmap('icons/winner.png')
self.iconlabel = IconLabel(self)
self.iconlabel.setFixedSize(50, 50)
self.iconlabel.setScaledContents(True)
self.mainLayout.insertWidget(0, self.iconlabel)
# self.mainLayout.addStretch()
self.unsetDealer()
def updateDisplay(self, points):
if points >= 1000:
self.scoreLCD.setNumDigits(4)
self.scoreLCD.display(points)
def setDealer(self): self.iconlabel.setPixmap(self.dealerPixmap)
def unsetDealer(self): self.iconlabel.setPixmap(self.nonDealerPixmap)
def setWinner(self): self.iconlabel.setPixmap(self.winnerPixmap)
def setColour(self, colour):
self.pcolour = colour
css = "QLCDNumber {{ color:rgb({},{},{});}}"
self.scoreLCD.setStyleSheet(css.format(self.pcolour.red(),
self.pcolour.green(),
self.pcolour.blue()))
sh = ("QLabel {{ font-size: 32px; font-weight: bold; "
"color:rgb({},{},{});}}")
self.nameLabel.setStyleSheet(sh.format(self.pcolour.red(),
self.pcolour.green(),
self.pcolour.blue()))
示例12: __init__
# 需要导入模块: from PyQt5.QtWidgets import QLCDNumber [as 别名]
# 或者: from PyQt5.QtWidgets.QLCDNumber import setSegmentStyle [as 别名]
def __init__(self, parent = None):
QWidget.__init__(self, parent, Qt.Window)
self.board = TetrixBoard()
self.indictor = TetrixIndictor()
nextPieceLabel = QLabel(self)
nextPieceLabel.setFrameStyle(QFrame.Box | QFrame.Raised)
nextPieceLabel.setAlignment(Qt.AlignCenter)
self.board.setNextPieceLabel(nextPieceLabel)
scoreLcd = QLCDNumber(6)
scoreLcd.setSegmentStyle(QLCDNumber.Filled)
levelLcd = QLCDNumber(2)
levelLcd.setSegmentStyle(QLCDNumber.Filled)
linesLcd = QLCDNumber(6)
linesLcd.setSegmentStyle(QLCDNumber.Filled)
startButton = QPushButton(self.tr("&Start"))
startButton.setFocusPolicy(Qt.NoFocus)
quitButton = QPushButton(self.tr("E&xit"))
quitButton.setFocusPolicy(Qt.NoFocus)
pauseButton = QPushButton(self.tr("&Pause"))
pauseButton.setFocusPolicy(Qt.NoFocus)
startButton.clicked.connect(self.board.start)
pauseButton.clicked.connect(self.board.pause)
quitButton.clicked.connect(self.close)
self.board.scoreChanged.connect(scoreLcd.display)
self.board.levelChanged.connect(levelLcd.display)
self.board.linesRemovedChanged.connect(linesLcd.display)
self.board.act.connect(self.indictor.showIndictor)
layout1 = QHBoxLayout()
layout3 = QVBoxLayout()
layout3.addWidget(self.board)
layout3.addWidget(self.indictor)
layout3.setSpacing(0)
layout1.addLayout(layout3)
layout2 = QVBoxLayout()
layout2.addWidget(self.createLabel(self.tr("Next Block")))
layout2.addWidget(nextPieceLabel)
layout2.addWidget(self.createLabel(self.tr("Level")))
layout2.addWidget(levelLcd)
layout2.addWidget(self.createLabel(self.tr("Score")),)
layout2.addWidget(scoreLcd)
layout2.addWidget(self.createLabel(self.tr("Total Lines")))
layout2.addWidget(linesLcd)
layout2.addWidget(startButton)
layout2.addWidget(quitButton)
layout2.addWidget(pauseButton)
layout1.addLayout(layout2)
layout1.setStretch(0, 75)
layout1.setStretch(1, 25)
self.setLayout(layout1)
self.setWindowTitle(self.tr("Tetrix"))
self.resize(self.logicalDpiX() / 96 * 275, self.logicalDpiY() / 96 * 380)
r = self.geometry()
r.moveCenter(QApplication.instance().desktop().screenGeometry().center())
self.setGeometry(r)
示例13: Phase10PlayerWidget
# 需要导入模块: from PyQt5.QtWidgets import QLCDNumber [as 别名]
# 或者: from PyQt5.QtWidgets.QLCDNumber import setSegmentStyle [as 别名]
class Phase10PlayerWidget(GamePlayerWidget):
roundWinnerSet = QtCore.pyqtSignal(str)
def __init__(self, nick, engine, bgroup=None, parent=None):
self.engine = engine
self.current_phase = min(
self.engine.getRemainingPhasesFromPlayer(nick))
self.phases_in_order = self.engine.getPhasesInOrderFlag()
self.bgroup = bgroup
super(Phase10PlayerWidget, self).__init__(
nick, PlayerColours[self.engine.getListPlayers().index(nick)],
parent)
def initUI(self):
css = ("QGroupBox {{ font-size: 28px;"
"font-weight: bold; color:rgb({},{},{});}}")
self.setStyleSheet(css.format(self.pcolour.red(),
self.pcolour.green(),
self.pcolour.blue()))
self.setTitle(self.player)
super(Phase10PlayerWidget, self).initUI()
trashWidget = QWidget()
trashWidget.setLayout(self.mainLayout)
self.mainLayout = QVBoxLayout(self)
self.mainLayout.addStretch()
self.upperLayout = QHBoxLayout()
self.mainLayout.addLayout(self.upperLayout)
self.upperLayout.addStretch()
self.phaseNameLabel = QLabel(self)
self.phaseNameLabel.setStyleSheet(
"font-weight: bold; font-size: 24px;")
self.updatePhaseName()
self.upperLayout.addWidget(self.phaseNameLabel)
self.upperLayout.addStretch()
self.lowerLayout = QHBoxLayout()
self.mainLayout.addLayout(self.lowerLayout)
self.mainLayout.addStretch()
self.phaseLabelsLayout = QGridLayout()
self.phaseLabelsLayout.setSpacing(5)
self.checkboxLayout = QVBoxLayout()
self.scoreLCD = QLCDNumber(self)
self.scoreLCD.setSegmentStyle(QLCDNumber.Flat)
self.mainLayout.addWidget(self.scoreLCD)
self.scoreLCD.setNumDigits(3)
self.scoreLCD.setMinimumWidth(100)
css = "QLCDNumber {{ color:rgb({},{},{});}}"
self.scoreLCD.setStyleSheet(css.format(self.pcolour.red(),
self.pcolour.green(),
self.pcolour.blue()))
# Left part - score
self.lowerLayout.addWidget(self.iconlabel)
self.lowerLayout.addWidget(self.scoreLCD)
self.lowerLayout.addLayout(self.phaseLabelsLayout)
self.lowerLayout.addLayout(self.checkboxLayout)
self.iconlabel.setMinimumSize(60, 60)
# self.scoreLCD.setMinimumWidth(100)
# self.scoreLCD.setMaximumWidth(200)
# self.scoreLCD.setMinimumHeight(60)
# self.scoreLCD.setMaximumHeight(80)
self.scoreLCD.display(self.engine.getScoreFromPlayer(self.player))
# Middle part - Phase list
self.phaseLabels = list()
for phase in range(1, 11):
label = Phase10Label(phase, self)
if phase == self.current_phase:
label.setCurrent()
elif self.engine.hasPhaseCompleted(self.player, phase):
label.setPassed()
self.phaseLabels.append(label)
self.phaseLabelsLayout.addWidget(
label, (phase-1)/5, (phase-1) % 5, 1, 1)
# Middle part - Inputs
self.roundWinnerRadioButton = QRadioButton()
self.bgroup.addButton(self.roundWinnerRadioButton)
self.checkboxLayout.addWidget(self.roundWinnerRadioButton)
self.roundPhaseClearedCheckbox = QCheckBox(self)
self.checkboxLayout.addWidget(self.roundPhaseClearedCheckbox)
self.roundScore = Phase10ScoreSpinBox(self)
self.roundScore.setMaximumWidth(90)
self.roundScore.valueChanged.connect(self.updateRoundPhaseCleared)
self.lowerLayout.addWidget(self.roundScore)
self.roundWinnerRadioButton.toggled.connect(
self.roundScore.setDisabled)
self.roundWinnerRadioButton.toggled.connect(
self.roundPhaseClearedCheckbox.setDisabled)
#.........这里部分代码省略.........
示例14: PlayingMediaWidget
# 需要导入模块: from PyQt5.QtWidgets import QLCDNumber [as 别名]
# 或者: from PyQt5.QtWidgets.QLCDNumber import setSegmentStyle [as 别名]
class PlayingMediaWidget(QWidget):
def __init__(self, cue, media_time, parent=None):
super().__init__(parent)
self.cue = cue
self.media_time = media_time
self._dbmeter_element = None
self._accurate_time = False
scroll_size = (self.parent().verticalScrollBar().width() + 5)
self.setGeometry(0, 0, self.parent().width() - scroll_size, 102)
self.setFocusPolicy(Qt.NoFocus)
self.gridLayoutWidget = QWidget(self)
self.gridLayoutWidget.setGeometry(self.geometry())
self.gridLayout = QGridLayout(self.gridLayoutWidget)
self.gridLayout.setContentsMargins(2, 2, 2, 2)
self.nameLabel = QLabel(self.gridLayoutWidget)
self.nameLabel.setSizePolicy(QSizePolicy.Ignored, QSizePolicy.Ignored)
self.nameLabel.setText(cue['name'])
self.nameLabel.setToolTip(cue['name'])
self.gridLayout.addWidget(self.nameLabel, 0, 0, 1, 3)
self.playPauseButton = QPushButton(self.gridLayoutWidget)
self.playPauseButton.setSizePolicy(QSizePolicy.Ignored,
QSizePolicy.Ignored)
self.playPauseButton.setIcon(QIcon.fromTheme("media-playback-pause"))
self.playPauseButton.setFocusPolicy(Qt.NoFocus)
self.playPauseButton.clicked.connect(lambda: self.cue.media.pause())
self.gridLayout.addWidget(self.playPauseButton, 1, 0)
self.stopButton = QPushButton(self.gridLayoutWidget)
self.stopButton.setSizePolicy(QSizePolicy.Ignored, QSizePolicy.Ignored)
self.stopButton.setIcon(QIcon.fromTheme("media-playback-stop"))
self.stopButton.setFocusPolicy(Qt.NoFocus)
self.stopButton.clicked.connect(lambda m: cue.media.stop())
self.gridLayout.addWidget(self.stopButton, 1, 1)
self.timeDisplay = QLCDNumber(self.gridLayoutWidget)
self.timeDisplay.setSegmentStyle(QLCDNumber.Flat)
self.timeDisplay.setDigitCount(8)
self.timeDisplay.display(strtime(cue.media['duration']))
self.gridLayout.addWidget(self.timeDisplay, 1, 2)
self.seekSlider = QClickSlider(self.gridLayoutWidget)
self.seekSlider.setOrientation(Qt.Horizontal)
self.seekSlider.setRange(0, cue.media['duration'])
self.seekSlider.setFocusPolicy(Qt.NoFocus)
self.seekSlider.sliderMoved.connect(cue.media.seek)
self.seekSlider.sliderJumped.connect(cue.media.seek)
self.seekSlider.setVisible(False)
self.dbmeter = QDbMeter(self.gridLayoutWidget)
self.dbmeter.setVisible(False)
self.gridLayout.setRowStretch(0, 1)
self.gridLayout.setRowStretch(1, 2)
self.gridLayout.setColumnStretch(0, 3)
self.gridLayout.setColumnStretch(1, 3)
self.gridLayout.setColumnStretch(2, 5)
self.media_time.notify.connect(self.on_time_updated)
cue.updated.connect(self.on_cue_updated)
cue.media.duration.connect(self.update_duration)
cue.media.played.connect(self._pause_to_play)
cue.media.paused.connect(self._play_to_pause)
self.fade = self.cue.media.element("Fade")
if self.fade is not None:
self.fade.enter_fadein.connect(self.enter_fadein)
self.fade.enter_fadeout.connect(self.enter_fadeout)
self.fade.exit_fadein.connect(self.exit_fade)
self.fade.exit_fadeout.connect(self.exit_fade)
def enter_fadeout(self):
p = self.timeDisplay.palette()
p.setColor(p.Text, QColor(255, 50, 50))
self.timeDisplay.setPalette(p)
def enter_fadein(self):
p = self.timeDisplay.palette()
p.setColor(p.Text, QColor(0, 255, 0))
self.timeDisplay.setPalette(p)
def exit_fade(self):
self.timeDisplay.setPalette(self.palette())
def on_cue_updated(self, cue):
self.nameLabel.setText(cue['name'])
self.nameLabel.setToolTip(cue['name'])
def set_accurate_time(self, enable):
self._accurate_time = enable
def set_seek_visible(self, visible):
if visible and not self.seekSlider.isVisible():
#.........这里部分代码省略.........