Linux窗口程序设计 Qt4精彩实例分析 pyqt实现
位置函数
?
from PyQt4.QtCore import * from PyQt4.QtGui import * import sys class 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()")