QmainWindow

**********************************************************************************************************************************************************

Toolbar()

工具栏,只有QMainWindow才有toolbar,Qwidget窗体没有

     def createToolbar(self):
#实例化QMainWindow的一个QToolBar
toolbar1 = self.addToolBar("tool_file") #添加图形按钮
toolbar_new=QAction(QIcon(r"../photo/new.png"),'New',self,triggered=self.show_result)
#toolbar_new.setCheckable(True)#设置可选状态
toolbar1.addAction(toolbar_new)
toolbar_save=QAction(QIcon(r"../photo/save.png"),'Save',self,triggered=self.save_textEdit_1)
toolbar1.addAction(toolbar_save) toolbar2 = self.addToolBar("tool_run")
self.toolbar_run=QAction(QIcon(r"../photo/run.png"),'Run',self,triggered=self.run)
self.toolbar_run.setCheckable(False)
toolbar2.addAction(self.toolbar_run)
self.toolbar_pause=QAction(QIcon(r"../photo/pause.png"),'Pause',self,triggered=self.pause)
self.toolbar_pause.setCheckable(False)
toolbar2.addAction(self.toolbar_pause)
toolbar2.addSeparator()#添加分隔符
self.toolbar_stop=QAction(QIcon(r"../photo/stop.png"),'Stop',self,triggered=self.stop)
self.toolbar_stop.setCheckable(False)
#self.toolbar_stop.setChecked(True)#设置为选中状态
toolbar2.addAction(self.toolbar_stop) toolbar3 = self.addToolBar("tool_record")
self.toolbar_record = QAction(QIcon(r"../photo/record.png"),'Record',self,triggered=self.record)
toolbar3.addAction(self.toolbar_record)

QMenuBar()

菜单栏,也是只有QMainWindow才有,Qwidget窗体没有

方法:

menuBar()#返回主窗口的QMenuBar对象

addMenu()#在菜单栏中添加一个新的QMenu对象

addAction()#向QMenu小控件中添加一个操作按钮,其中包含文本或图标

setEnabled()#将操作按钮设置为启用/禁用

addSeperator()# 在菜单中添加一条分割线

clear()#删除菜单栏的内容

setShortcut()#将快捷键关联到操作按钮

setText()# 设置菜单项的文本

setTitle()#设置QMenu小控件的标题

text()  #返回与QACtion对象关联的文本

title()# 返回QMenu小控件的标题

     def createMenu(self):
menubar = self.menuBar()##实例化主窗口的QMenuBar对象 #向菜单栏中添加新的QMenu对象,父菜单
menu_file = menubar.addMenu("File")
#向QMenu小控件中添加按钮,子菜单
menu_file.addAction("New")
#定义响应小控件按钮,并设置快捷键关联到操作按钮,添加到父菜单下
#save = QAction('Save',self)
save = QAction(QIcon(r"../photo/open.jpg"), "Save", self, triggered=self.save_textEdit_1)
save.setShortcut('Ctrl+S')
menu_file.addAction(save) menu_file.addAction("Open")
menu_file.addAction(QAction("Exit",self,triggered=qApp.quit)) menu_Edit = menubar.addMenu("Edit")
#向QMenu小控件中添加按钮,子菜单
menu_Edit.addAction("Cut")
menu_Edit.addAction("Copy")
menu_Edit.addAction(QAction(QIcon(r"../photo/paste.png"),"Paste",self,triggered=self.pause))
menu_Edit.addAction(QAction(QIcon(r"../photo/delete.png"),"Delete",self)) menu_Help = menubar.addMenu("Help")

StatusBar()

#获得状态栏对象后,调用状态栏对象showMessage(message,int timeout=0)方法

setStatusBar()#设置状态栏

显示状态栏信息,其中第一个参数是要显示的状态栏信息,第二个参数是信息停留的时间,单位是毫秒,默认是0,表示一直显示状态栏信息

#实例化创建状态栏

self.status=self.statusBar()

#将提示信息显示在状态栏中showMessage(‘提示信息’,显示时间(单位毫秒))

self.status.showMessage('这是状态栏提示',4000)

     def createStatusBar(self):
#实例化状态栏
self.statusBar=QStatusBar()
self.statusBar.showMessage("This is status info",4000) #设置状态栏,类似布局设置
self.setStatusBar(self.statusBar)

move()

self.move(100,100)#移动下距离

#函数设置了具体的地址,是以左上角为原点横纵坐标分别向下增长的坐标。而且设置的是相对位移(相对于父控件)

centralWidget()#返回窗口中心的一个控件,未设置时返回NULL

Pyqt5_QmainWindow的更多相关文章

随机推荐

  1. Failed building wheel for cytoolz

    2019独角兽企业重金招聘Python工程师标准>>> 当我使用 pip instlal cytoolz 时,  报以下错误: error: Microsoft Visual C++ ...

  2. TCP链接的三次握手与四次断开

    一直总觉得三次握手和四次断开,之前老师讲的有问题,经过自己再次琢磨,发现是的,老师讲的没毛病,这次也把自己的理解总结一下,让对这个知识模糊的小伙伴再换种思路去理解 首先看一下TCP三次握手发生了哪些: ...

  3. 「每天一道面试题」Java类的生命周期包括哪几个阶段?

    一个Java类被加载到虚拟机中,它的生命周期才算开始,直到被从内存中卸载,它的生命周期才算结束.从开始到结束,它的整个生命周期包括加载.验证.准备.解析.初始化.使用和卸载7个阶段,其中验证.准备和解 ...

  4. P1220 关路灯(提高+)

    以下内容转自z2415445508 只是为了方便自己复习而已 题目传送门-->关路灯 我是一条憨憨的分割线 关灯不需要额外的时间,经过了灯就关了.但是可能折返回去关某一个大灯会比继续往下走关接下 ...

  5. CC2530外部中断

    一.中断基础概念  内核与外设之间的主要交互方式有两种:轮询和中断.中断系统使得内核具备了应对突发事件的能力. 在执行CPU当前程序时,由于系统中出现了某种急需处理的情况,CPU暂停正在执行的程序,转 ...

  6. [UVA Live 12931 Common Area]扫描线

    题意:判断两个多边形是否有面积大于0的公共部分 思路:扫描线基础. #pragma comment(linker, "/STACK:10240000") #include < ...

  7. Semaphore和AQS

    Semaphore意思的信号量,它的作用是控制访问特定资源的线程数量 构造方法: public Semaphore(int permits) public Semaphore(int permits, ...

  8. 管理环境一:venv

    初衷: 在工作的时候,我们会有很多个项目,每个项目使用的库的版本不一样,导致我们切换项目的时候会很麻烦. 比如:我有两个django项目,项目一使用的版本是 django 1.7 , 项目二使用的版本 ...

  9. C# 集合ArrayList :可以存储任何类型的数组,的基本用法

    public void main() { //可以存储任何类型的数组 ArrayList alist = new ArrayList(); AddData(alist); RemoveData(ali ...

  10. 两个有序数组 A1 A2 的合并

    /** * 问题6.有序数组 A1 A2 的合并 */ @Test public void orderArrayMerge() { // 两个有序数组 A1 A2 的合并 int[] A1 = {1, ...