前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PyQt 中心窗口、停靠窗口和状态栏

PyQt 中心窗口、停靠窗口和状态栏

作者头像
用户6021899
发布2019-08-14 17:37:11
2.1K0
发布2019-08-14 17:37:11
举报
文章被收录于专栏:Python编程 pyqt matplotlib

使用下面的代码设定主窗口的中心窗口部件:

self.setCentralWidget(widget)#self是主窗口子类的实例

widget可以是单个独立部件,如QTextEdit、QTableWidget, 也可以是复合部件,如QTabWidget等,或者是自定义复合部件。

顺便介绍下自定义复合部件的写法:

widget = QWidget()

widget.setLayout(layout)#假设layout已定义并加载好子部件

停靠窗口的写法可以参考下面的代码:

self.listWidget = QListWidget()#列表部件 self.logDockWidget = QDockWidget("log",self)#设置停靠窗口标题、父部件

self.logDockWidget.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea)#设置允许停靠的区域(可选) self.logDockWidget.setWidget(self.listWidget)#为停靠窗口设定部件(可以是单个独立部件,也可以是复合部件)

self.addDockWidget(Qt.RightDockWidgetArea, self.logDockWidget)#往主窗口添加停靠窗口,并指定初始停靠位置

状态栏写法可以参考下面的代码:

#self.statusBar()可返回 主窗口的状态栏

self.statusBar().showMessage("ready")#在状态栏显示文本信息

self.statusBar().showMessage("临时信息“,3000)#状态栏在3000ms内显示信息

self.statusBar().addPermanentWidget(widget)#往状态栏添加部件,如Label等,可用来显示额外的信息,如时间什么的。

例如,以下的代码可用来在状态栏动态地显示日期时间:

def setup_statusBar(self): #配置状态栏 self.dateLabel = QLabel() self.dateLabel.setFrameStyle(QFrame.StyledPanel | QFrame.Sunken) self.dateLabel.setText(QDate.currentDate().toString())

self.timeLabel = QLabel() self.timeLabel.setFrameStyle(QFrame.StyledPanel | QFrame.Sunken) self.timeLabel.setText(QTime.currentTime().toString()) self.statusBar().addPermanentWidget(self.dateLabel) self.statusBar().addPermanentWidget(self.timeLabel)

datetime = QDateTime.currentDateTime().toString() self.statusBar().showMessage(datetime,3000) #状态栏在3000ms内显示信息 self.statusBar().showMessage("ready")#状态栏显示信息 timer = QTimer(self)#创建计时器#self timer.timeout.connect(self.updateBySecond) # 计时器超时信号接到用于更新界面的槽 timer.start(1000)#每1000ms发射超时信号

def updateBySecond(self): self.timeLabel.setText(QTime.currentTime().toString()) self.dateLabel.setText(QDate.currentDate().toString())

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-02-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python可视化编程机器学习OpenCV 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档