qt designer使用
开始
新建项目(eric6 项目) 新建窗体(eric6 窗体) 编辑界面(转到qt designer) 保存 编译窗体(转到eric6 窗体) 运行(查看页面效果)
页面缩放效果(qt designer)
为了窗口最大化时,布局能够按照自己的需求比例增长,最后所有布局好了后,在主窗口设置顶级布局 主窗口空白处->右键 选择layout -> (vertical / horizonal / grid)
给按钮添加函数
右击窗体(在eric6) 生成对话框代码 新建类名 文件名 保存 绑定按钮动作 保存 添加自定义slot(在qt designer) 名称为绑定的按钮的那个动作名 (比如 on_pushButton_clicked()) 再次编译 打开生成的文件 (eric6) 去掉from .Ui_04 的. 在函数在下面加上 if __name__ == '__main__': import sys from PyQt5.QtWidgets import QApplication app = QApplication(sys.argv) window = ClassName() ## 类名,注意要和自己定义的类名一致。 window.show() sys.exit(app.exec_())
实时在文本框显示内容
@pyqtSlot() def on_pushButton_clicked(self): for n in range(10): str_n='File index {0}'.format(n) self.textEdit.setText(str_n) QApplication.processEvents() # 引入这个 time.sleep(1)
函数绑定定时器自动执行(Qtimer)
def __init__(self, parent=None): super(Run, self).__init__(parent) self.setupUi(self) #在类中定义一个定时器,并在构造函数中设置启动及其信号和槽 self.timer = QTimer(self) #设置计时间隔并启动(1000ms == 1s) self.timer.start(1000) #计时结束调用timeout_slot()方法,注意不要加() self.timer.timeout.connect(self.on_pushButton_clicked) @pyqtSlot() def on_pushButton_clicked(self): for n in range(10): # str_n='File index {0}'.format(n) newMessage="new message"+str(n) messages = list() messages.append( newMessage ) self.textEdit.setText( '\n'.join(messages) ) # self.textEdit.setText(str_n) QApplication.processEvents() # 引入这个 # time.sleep(1)