本文整理汇总了Python中qt.QGridLayout.addItem方法的典型用法代码示例。如果您正苦于以下问题:Python QGridLayout.addItem方法的具体用法?Python QGridLayout.addItem怎么用?Python QGridLayout.addItem使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qt.QGridLayout
的用法示例。
在下文中一共展示了QGridLayout.addItem方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: ClientDialog
# 需要导入模块: from qt import QGridLayout [as 别名]
# 或者: from qt.QGridLayout import addItem [as 别名]
#.........这里部分代码省略.........
self.progressBar.setMinimum(0)
self.progressBar.setMaximum(
game.ruleset.claimTimeout * 1000 // msecs)
self.progressBar.reset()
self.timer.start(msecs)
def placeInField(self):
"""place the dialog at bottom or to the right depending on space."""
mainWindow = Internal.scene.mainWindow
cwi = mainWindow.centralWidget()
view = mainWindow.centralView
geometry = self.geometry()
if not self.btnHeight:
self.btnHeight = self.buttons[0].height()
vertical = view.width() > view.height() * 1.2
if vertical:
height = (len(self.buttons) + 1) * self.btnHeight * 1.2
width = (cwi.width() - cwi.height()) // 2
geometry.setX(cwi.width() - width)
geometry.setY(min(cwi.height() // 3, cwi.height() - height))
else:
handBoard = self.client.game.myself.handBoard
if not handBoard:
# we are in the progress of logging out
return
hbLeftTop = view.mapFromScene(
handBoard.mapToScene(handBoard.rect().topLeft()))
hbRightBottom = view.mapFromScene(
handBoard.mapToScene(handBoard.rect().bottomRight()))
width = hbRightBottom.x() - hbLeftTop.x()
height = self.btnHeight
geometry.setY(cwi.height() - height)
geometry.setX(hbLeftTop.x())
for idx, btn in enumerate(self.buttons + [self.progressBar]):
self.layout.addWidget(
btn,
idx +
1 if vertical else 0,
idx +
1 if not vertical else 0)
idx = len(self.buttons) + 2
spacer = QSpacerItem(
20,
20,
QSizePolicy.Expanding,
QSizePolicy.Expanding)
self.layout.addItem(
spacer,
idx if vertical else 0,
idx if not vertical else 0)
geometry.setWidth(width)
geometry.setHeight(height)
self.setGeometry(geometry)
def showEvent(self, dummyEvent):
"""try to place the dialog such that it does not cover interesting information"""
self.placeInField()
def timeout(self):
"""the progressboard wants an update"""
pBar = self.progressBar
if isAlive(pBar):
pBar.setValue(pBar.value() + 1)
pBar.setVisible(True)
if pBar.value() == pBar.maximum():
# timeout: we always return the original default answer, not
# the one with focus
self.selectButton()
pBar.setVisible(False)
def selectButton(self, button=None):
"""select default answer. button may also be of type Message."""
if self.answered:
# sometimes we get this event twice
return
if button is None:
button = self.focusWidget()
if isinstance(button, Message):
assert any(x.message == button for x in self.buttons)
answer = button
else:
answer = button.message
if not self.client.game.myself.sayable[answer]:
self.proposeAction().setFocus() # go back to default action
self.sorry = Sorry(m18n('You cannot say %1', answer.i18nName))
return
self.timer.stop()
self.answered = True
if self.sorry:
self.sorry.cancel()
self.sorry = None
Internal.scene.clientDialog = None
self.deferred.callback(answer)
def selectedAnswer(self, dummyChecked):
"""the user clicked one of the buttons"""
game = self.client.game
if game and not game.autoPlay:
self.selectButton(self.sender())