def setupWidgets(self): frame = QtGui.QFrame() frameLayout = QtGui.QHBoxLayout(frame) self.piecesList = QtGui.QListView() self.piecesList.setDragEnabled(True) self.piecesList.setViewMode(QtGui.QListView.IconMode) self.piecesList.setIconSize(QtCore.QSize(60, 60)) self.piecesList.setGridSize(QtCore.QSize(80, 80)) self.piecesList.setSpacing(10) self.piecesList.setMovement(QtGui.QListView.Snap) self.piecesList.setAcceptDrops(True) self.piecesList.setDropIndicatorShown(True) self.model = PiecesModel(self) self.piecesList.setModel(self.model) self.puzzleWidget = PuzzleWidget() self.puzzleWidget.puzzleCompleted.connect(self.setCompleted, QtCore.Qt.QueuedConnection) frameLayout.addWidget(self.piecesList) frameLayout.addWidget(self.puzzleWidget) self.setCentralWidget(frame)
def initUI(self): # set main window self.setWindowTitle("pack Files") mainLayout = QtGui.QVBoxLayout() self.setLayout(mainLayout) # add file table self.fileListTree = QtGui.QTreeWidget() self.fileListTree.setHeaderLabels(("File Path", "Exist")) mainLayout.addWidget(self.fileListTree) # target path targetFrame = QtGui.QFrame() targetLayout = QtGui.QHBoxLayout() targetFrame.setLayout(targetLayout) label = QtGui.QLabel("target Path: ") self.targetPathWiget = QtGui.QLineEdit() targetLayout.addWidget(label) targetLayout.addWidget(self.targetPathWiget) mainLayout.addWidget(targetFrame) # buttons self.buttonFrame = QtGui.QFrame() self.buttonLayout = QtGui.QHBoxLayout() self.buttonFrame.setLayout(self.buttonLayout) self.analysisButton = QtGui.QPushButton("Analysis") self.packButton = QtGui.QPushButton("Pack files") self.buttonLayout.addWidget(self.analysisButton) self.buttonLayout.addWidget(self.packButton) mainLayout.addWidget(self.buttonFrame) # status bar statusFrame = QtGui.QFrame() statusLayout = QtGui.QHBoxLayout() statusFrame.setLayout(statusLayout) self.statusLabel = QtGui.QLabel() statusLayout.addWidget(self.statusLabel) mainLayout.addWidget(statusFrame)
def setupWidgets(self): frame = QtGui.QFrame() frameLayout = QtGui.QHBoxLayout(frame) self.piecesList = PiecesList() self.puzzleWidget = PuzzleWidget() self.puzzleWidget.puzzleCompleted.connect(self.setCompleted, QtCore.Qt.QueuedConnection) frameLayout.addWidget(self.piecesList) frameLayout.addWidget(self.puzzleWidget) self.setCentralWidget(frame)
def initUI(self): self.setWindowFlags(*Qt.FramelessWindowHint | *Qt.WindowSystemMenuHint | *Qt.WindowMinimizeButtonHint) # 无边框, 带系统菜单, 可以最小化) self.centralWidget = QtGui.QFrame() # QtGui.QLabel('centralWidget') self.centralWidget.setMouseTracking(True) self.setMouseTracking(True) mainLayout = QtGui.QVBoxLayout() mainLayout.addWidget(self.centralWidget) mainLayout.setContentsMargins(0, 0, 0, 0) mainLayout.setSpacing(0) self.setLayout(mainLayout) self.rectFrame = self.geometry()
def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) quit = QtGui.QPushButton("&Quit") quit.setFont(QtGui.QFont("Times", 18, QtGui.QFont.Bold)) self.connect(quit, QtCore.SIGNAL("clicked()"), QtGui.qApp, QtCore.SLOT("quit()")) angle = LCDRange("ANGLE") angle.setRange(5, 70) force = LCDRange("FORCE") force.setRange(10, 50) cannonBox = QtGui.QFrame() cannonBox.setFrameStyle(QtGui.QFrame.WinPanel | QtGui.QFrame.Sunken) self.cannonField = CannonField() self.connect(angle, QtCore.SIGNAL("valueChanged(int)"), self.cannonField.setAngle) self.connect(self.cannonField, QtCore.SIGNAL("angleChanged(int)"), angle.setValue) self.connect(force, QtCore.SIGNAL("valueChanged(int)"), self.cannonField.setForce) self.connect(self.cannonField, QtCore.SIGNAL("forceChanged(int)"), force.setValue) self.connect(self.cannonField, QtCore.SIGNAL("hit()"), self.hit) self.connect(self.cannonField, QtCore.SIGNAL("missed()"), self.missed) shoot = QtGui.QPushButton("&Shoot") shoot.setFont(QtGui.QFont("Times", 18, QtGui.QFont.Bold)) self.connect(shoot, QtCore.SIGNAL("clicked()"), self.fire) self.connect(self.cannonField, QtCore.SIGNAL("canShoot(bool)"), shoot, QtCore.SLOT("setEnabled(bool)")) restart = QtGui.QPushButton("&New Game") restart.setFont(QtGui.QFont("Times", 18, QtGui.QFont.Bold)) self.connect(restart, QtCore.SIGNAL("clicked()"), self.newGame) self.hits = QtGui.QLCDNumber(2) self.shotsLeft = QtGui.QLCDNumber(2) hitsLabel = QtGui.QLabel("HITS") shotsLeftLabel = QtGui.QLabel("SHOTS LEFT") QtGui.QShortcut(QtGui.QKeySequence(QtCore.Qt.Key_Enter), self, self.fire) QtGui.QShortcut(QtGui.QKeySequence(QtCore.Qt.Key_Return), self, self.fire) QtGui.QShortcut(QtGui.QKeySequence(QtCore.Qt.CTRL + QtCore.Qt.Key_Q), self, QtCore.SLOT("close()")) topLayout = QtGui.QHBoxLayout() topLayout.addWidget(shoot) topLayout.addWidget(self.hits) topLayout.addWidget(hitsLabel) topLayout.addWidget(self.shotsLeft) topLayout.addWidget(shotsLeftLabel) topLayout.addStretch(1) topLayout.addWidget(restart) leftLayout = QtGui.QVBoxLayout() leftLayout.addWidget(angle) leftLayout.addWidget(force) cannonLayout = QtGui.QVBoxLayout() cannonLayout.addWidget(self.cannonField) cannonBox.setLayout(cannonLayout) gridLayout = QtGui.QGridLayout() gridLayout.addWidget(quit, 0, 0) gridLayout.addLayout(topLayout, 0, 1) gridLayout.addLayout(leftLayout, 1, 0) gridLayout.addWidget(cannonBox, 1, 1, 2, 1) gridLayout.setColumnStretch(1, 10) self.setLayout(gridLayout) angle.setValue(60) force.setValue(25) angle.setFocus() self.newGame()