`
scm002
  • 浏览: 309867 次
社区版块
存档分类
最新评论

PyQt 界面控件常用积累

 
阅读更多
  1. QtGui.QApplication(sys.argv) #QApplication 类初始化  
  2.   
  3. sys.exit(app.exec_()) #进入消息循环,等待窗体退出  
  4.   
  5.   
  6. 创建主界面的两种方法  
  7. 1.通过继承QtGui.QMainWindow创建类  
  8. QtGui.QMainWindow.__init__(self# 调用父类初始化方法  
  9.   
  10. 2.通过继承QtGui.QWidget创建类  
  11. QtGui.QWidget.__init__(self# 调用父类初始化方法  
  12.   
  13. QPushButton # 按钮  
  14. setFlat(True#设置文件样式按钮  
  15.   
  16. 连接事件信号的两种方法  
  17. 1.利用主界面self的connect方法  
  18. self.connect(self.button1, # Button1事件  
  19. QtCore.SIGNAL('clicked()'), # clicked()信号  
  20. self.OnButton1) # 插槽函数  
  21. 2.利用控件本身connect方法   
  22. button.clicked.connect(showdata)   
  23.   
  24.   
  25.   
  26. 对话窗体基本用法   
  27. class MyDialog(QtGui.QDialog): # 继承QtGui.QDialog   
  28. ...  
  29. self.done(1# 结束对话框返回1  
  30. 调用   
  31. dialog = MyDialog() # 创建对话框对象  
  32. r = dialog.exec_() # 运行对话框  
  33. if r:  
  34. self.button.setText(dialog.text)   
  35.   
  36. 文本标签控件QLabel   
  37. QtGui.QLabel('PyQt\nLabel'# 创建标签  
  38. label1.setAlignment(QtCore.Qt.AlignCenter) # 居中对齐  
  39.   
  40. 单行文本框控件QLineEdit  
  41. edit1 = QtGui.QLineEdit() # 创建单行文本框  
  42. edit2.setEchoMode(QtGui.QLineEdit.Password) # 将其设置为密码框  
  43.   
  44. 多行文本控件QTextEdit  
  45. edit = QtGui.QTextEdit() # 创建多行文本框  
  46. edit.setText('Python\nPyQt'# 设置文本框中的文字  
  47.   
  48. 表格式布局gridlayout  
  49. gridlayout.setRowMinimumHeight (1180# 设置第二行的最小高度为108  
  50.   
  51.   
  52.   
  53. 窗体菜单栏控件menuBar的基本用法  
  54. class MyWindow(QtGui.QMainWindow): # 通过继承QtGui.QMainWindow创建类  
  55. menubar = self.menuBar() # 获得窗口的菜单条  
  56. file = menubar.addMenu('&File'# 添加File菜单  
  57. file.addAction('Open'# 添加Open命令   
  58. open = self.file.addAction('Open'# 添加Open命令  
  59. self.connect(open, QtCore.SIGNAL('triggered()'), self.OnOpen) # 菜单信号   
  60.   
  61. 退出主窗体界面  
  62. self.close()  
  63.   
  64. 界面右键菜单用法  
  65. def contextMenuEvent(self, event): # 重载弹出式菜单事件  
  66. self.file.exec_(event.globalPos())   
  67.   
  68. 常用消息框用法   
  69. QtGui.QMessageBox.about(self'PyQt''About'# 创建About消息框  
  70. QtGui.QMessageBox.aboutQt(self'PyQt'# 创建AboutQt消息框   
  71.   
  72. r = QtGui.QMessageBox.critical(self'PyQt'# 创建Ctitical消息框  
  73. 'Critical',   
  74. QtGui.QMessageBox.Abort,  
  75. QtGui.QMessageBox.Retry,  
  76. QtGui.QMessageBox.Ignore)  
  77. 返回状态判断   
  78. if r == QtGui.QMessageBox.Abort:  
  79. self.label.setText('Abort')  
  80. elif r == QtGui.QMessageBox.Retry:  
  81. self.label.setText('Retry')  
  82. else:  
  83. self.label.setText('Ignore')   
  84.   
  85. QtGui.QMessageBox.information(self'PyQt''Information'# 创建Information消息框  
  86.   
  87. r = QtGui.QMessageBox.question(self'PyQt'# 创建Question消息框  
  88. 'Question',   
  89. QtGui.QMessageBox.Yes,  
  90. QtGui.QMessageBox.No,  
  91. QtGui.QMessageBox.Cancel)  
  92.   
  93. r = QtGui.QMessageBox.warning(self'PyQt'# 创建Warning消息框  
  94. 'Warning',   
  95. QtGui.QMessageBox.Yes,  
  96. QtGui.QMessageBox.No)  
  97.   
  98. 单选按钮复选按钮的用法   
  99. self.radio1 = QtGui.QRadioButton('Radio1'# 创建单选框  
  100. self.radio2 = QtGui.QRadioButton('Radio2')  
  101.   
  102. self.check = QtGui.QCheckBox('check'# 创建复选框  
  103. self.check.setChecked(True# 将复选框选中  
  104. 状态获取   
  105. if self.radio1.isChecked():  
  106. if self.check.isChecked():  
  107.   
  108. xml界面文件的用法  
  109. from PyQt4 import QtCore, QtGui, uic   
  110. class MyDialog(QtGui.QDialog): # 继承QtGui.QDialog  
  111. def __init__(self):  
  112. QtGui.QWidget.__init__(self)  
  113. uic.loadUi("res.ui"self)   
  114.   
  115. def OnButton(self): # 处理按钮事件   
  116. dialog = MyDialog() # 创建对话框对象  
  117. r = dialog.exec_() # 运行对话框  
  118. if r:  
  119. self.button.setText(dialog.lineEdit.text()) #获取对话框中控件元素的值  
  120.   
  121. 空白项控件QSpacerItem的用法   
  122. spacer1 = QtGui.QSpacerItem(300,40# 创建空白项  
  123. gridlayout.addItem(spacer1, 0 ,0# 添加空白项  
  124.   
  125. 标准系统对话框用法  
  126. filename = QtGui.QFileDialog.getOpenFileName(self'Open'# 创建文件打开对话框  
  127. if not filename.isEmpty():  
  128. self.label.setText(filename)  
  129.   
  130. font, ok = QtGui.QFontDialog.getFont() # 创建字体选中对话框  
  131. if ok:  
  132. self.label.setText(font.key())  
  133.   
  134. color = QtGui.QColorDialog.getColor() # 创建颜色选择对话框  
  135. if color.isValid():   
  136. self.label.setText(color.name())  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics