liseor 发表于 2013-1-31 11:48:29

Linux窗口程序设计 Qt4精彩实例分析 pyqt实现

位置函数
 

from PyQt4.QtCore import *from PyQt4.QtGui import *import sysclass Geometry(QDialog):    def __init__(self,parent = None):      super(Geometry,self).__init__(parent)                self.labelx             = QLabel("x: ")      self.labely             = QLabel("y: ")      self.labelframeGeometry = QLabel("frameGeometry : ")      self.labelpos         = QLabel("pos : ")      self.labelwidth         = QLabel("width : ")      self.labelheight      = QLabel("height : ")      self.labelrect          = QLabel("rect : ")      self.labelsize          = QLabel("size : ")                self.xlabel             = QLabel()      self.ylabel             = QLabel()      self.frameGeometrylabel = QLabel()      self.poslabel         = QLabel()      self.widthlabel         = QLabel()      self.heigthlabel      = QLabel()      self.rectlabel          = QLabel()      self.sizelabel          = QLabel()                self.layout             = QGridLayout()      self.layout.addWidget(self.labelx,0,0)      self.layout.addWidget(self.xlabel,0,1)      self.layout.addWidget(self.labely,1,0)      self.layout.addWidget(self.ylabel,1,1)      self.layout.addWidget(self.labelwidth,2,0)      self.layout.addWidget(self.widthlabel,2,1)      self.layout.addWidget(self.labelrect,3,0)      self.layout.addWidget(self.rectlabel,3,1)      self.layout.addWidget(self.labelsize,4,0)      self.layout.addWidget(self.sizelabel,4,1)      self.layout.addWidget(self.labelframeGeometry,5,0)      self.layout.addWidget(self.frameGeometrylabel,5,1)      self.layout.addWidget(self.labelheight,6,0)      self.layout.addWidget(self.heigthlabel,6,1)      self.layout.addWidget(self.labelpos,7,0)      self.layout.addWidget(self.poslabel,7,1)                self.setLayout(self.layout)      self.setWindowTitle("geometry")    def updateLabel(self):      temp = QString()      self.xlabel.setText(temp.setNum(self.x()))      self.ylabel.setText(temp.setNum(self.y()))                r = temp.setNum(self.rect().x()) + ","+temp.setNum(self.rect().y()) \                        +","+temp.setNum(self.rect().width())+","+temp.setNum(self.rect().height())         self.rectlabel.setText(r)      def moveEvent(self,event):      self.updateLabel()    def resizeEvent(self,event):      self.updateLabel()                              if __name__ == '__main__':    app = QApplication(sys.argv)    sd = Geometry()    sd.show()    app.exec_() 
 
 
标准对话框的使用
 
from PyQt4.QtCore import *from PyQt4.QtGui import *import sysclass StandardDialog(QDialog):    def __init__(self,parent = None):      super(StandardDialog,self).__init__(parent)                self.filePushButton = QPushButton("File Dialog")      self.fileLineEdit   = QLineEdit()      self.fileLineEdit.setText("Hello")      self.colorPushButton = QPushButton("Color Dialog")         self.colorFrame = QFrame()      self.colorFrame.setFrameShape(QFrame.Box)      self.colorFrame.setAutoFillBackground(True)                self.fontPushButton = QPushButton("Font Dialog")      self.fontLineEdit   = QLineEdit()      self.fontLineEdit.setText("Font Dialog")                gridlayout = QGridLayout()      gridlayout.addWidget(self.filePushButton,0,0)      gridlayout.addWidget(self.fileLineEdit,0,1)      gridlayout.addWidget(self.colorPushButton,1,0)      gridlayout.addWidget(self.colorFrame,1,1)      gridlayout.addWidget(self.fontPushButton,2,0)      gridlayout.addWidget(self.fontLineEdit,2,1)                self.connect(self.filePushButton,SIGNAL("clicked()"),self.openFileDialog)      self.connect(self.colorPushButton, SIGNAL("clicked()"),self.openColorDialog)      self.connect(self.fontPushButton, SIGNAL("clicked()"),self.openFontDialog)                self.setLayout(gridlayout)            def openFileDialog(self):      s = QFileDialog.getOpenFileName(None, "open file dialog")      self.fileLineEdit.setText(s)    def openColorDialog(self):      color = QColorDialog.getColor(Qt.blue)      self.colorFrame.setPalette(QPalette(color))    def openFontDialog(self):      font,ok = QFontDialog.getFont()      self.fontLineEdit.setFont(font)                            if __name__ == '__main__':    app = QApplication(sys.argv)    sd = StandardDialog()    sd.show()    app.exec_() 
页: [1]
查看完整版本: Linux窗口程序设计 Qt4精彩实例分析 pyqt实现