1.学会框架思想(1)
- 如果自定义类继承自QMainWindow,有一个CentralWidget,这个CentralWidget就是一个QWidget,set好CentralWidget,就可以显示出主界面了
- 如果自定义类继承自QWidget,设置好某一布局后,调用setLayout函数,就可以show出来了
2.学会框架思想(2)
- 界面的本质就是一个个QWidget、Layout组合而成
- 这些东西相互嵌套,最终到一个QWidget里
3.理解了上面的内容,就可以做界面了(开发小工具嘎嘎好用)
from PyQt5.QtWidgets import *
import sys
class QTextEditDemo(QWidget):
def __init__(self):
super(QTextEditDemo, self).__init__()
self.initUI()
def initUI(self):
#设置应用的标题
self.setWindowTitle("语种识别")
#设置主界面的窗口大小
self.resize(1200, 600)
#构造垂直布局1
rongQi1 = QWidget()
rongQi1_layout = QVBoxLayout()
self.textEdit1 = QTextEdit()
buttonText = QPushButton("打开文件")
rongQi1_layout.addWidget(self.textEdit1)
rongQi1_layout.addWidget(buttonText)
rongQi1.setLayout(rongQi1_layout)
#构造垂直布局2
rongQi2 = QWidget()
rongQi2_layout = QVBoxLayout()
self.textEdit2 = QTextEdit()
rongQi2_layout.addWidget(self.textEdit2)
rongQi2.setLayout(rongQi2_layout)
#构造水平布局
layout = QHBoxLayout()
layout.addWidget(rongQi1)
layout.addWidget(rongQi2)
self.setLayout(layout)
#将事件和槽进行绑定
buttonText.clicked.connect(self.openFile)
def openFile(self):
#清除EditText内容
self.textEdit1.clear()
self.textEdit2.clear()
# 弹出文件对话框
fileName, _ = QFileDialog.getOpenFileName(self, '打开文件')
if(fileName):
self.textEdit1.insertPlainText(information)
self.textEdit2.insertPlainText(information )
if __name__ == "__main__":
app = QApplication(sys.argv)
main = QTextEditDemo()
main.show()
sys.exit(app.exec_())
4.学会用自定义信号与槽
- 类内使用注意使用self(类似C++里面的this指针)
#信号
signal_emit_str1 = pyqtSignal(str)
#发出信号
signal_emit_str1.emit(str("sssss"))
#槽函数
def func:
pass
#连接槽函数
signal_emit_str1.connect(func)
5.需要的控件直接百度怎么用,调用接口即可
6.学会用QSS设置背景(更完美)