Qt与PyQT中设置ToolBar在AllowedArea的显示
因为个人对传统的软件GUI界面不是太喜欢,最近又在学习Qt和PyQt5,所以就有了设置ToolBar在窗口的不同地方的想法,经过浪里淘沙,最终在Qt官网里找到了,原来再添加toolBar的时候是由设置toolbar位置的参数(addToolBar()有多个重载),只是有很多的教材都忽略了这么一个参数。
这是QMainWindow中的各个构成框架,通过他可以清晰的了解各个控件可以放置的位置,对QMainWindow也有一个比较直观的了解。

以下是Qt官网上关于该类(在QMainWindow)的添加QToolBar控件的函数的解析。
(
在第一个重载函数中就指出了需要把toolbar放置的地方,其取值有:

在添加ToolBar 的时候,就可以根据自己对工具栏位置的喜好,传入适合的参数,但是注意这里的第二个参数是一个QToolBar对象,其实QToolBar还有很多的设置属性,比如FlaotingAble,moveAble等,这些可以使你的工具栏实现工具栏在任何可以停靠的位置。
下面是我在PyQt中实现的代码以及效果图:

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtCore import * class MainWindow(QMainWindow):
def __init__(self,parent=None):
super(MainWindow,self).__init__(parent)
self.setWindowTitle('Left-ToolBar')
self.resize(1000,618)
self.initUI() def initUI(self):
self.Creat_Menu()
self.Creat_ToolBar() self.widget=QWidget()
self.mainLayout=QHBoxLayout()
#Add diffrent Widget for the CentraWindow self.edit=QTextEdit()
self.mainLayout.addWidget(self.edit) self.widget.setLayout(self.mainLayout)
self.setCentralWidget(self.widget) def Creat_Menu(self):
self.menu=self.menuBar()
file=self.menu.addMenu('File')
file.addAction('New')
file.addAction('Open')
file.addAction('Close Project') tool=self.menu.addMenu('Tool')
tool.addAction('Python')
tool.addAction('C++')
tool.addAction('C') def Creat_ToolBar(self):
self.toolBar=QToolBar()
#MainWindow.addToolBar(QtCore.Qt.LeftToolBarArea, self.toolBar)
self.addToolBar(Qt.LeftToolBarArea,self.toolBar)
self.toolBar.addAction('Edit')
self.toolBar.addAction('Open') if __name__=='__main__':
app=QApplication(sys.argv)
demo=MainWindow()
demo.show()
sys.exit(app.exec())
其实关于Qt和PyQt5实现GUI编程,从根本上来说其方法是一样的(我说的是类中具有的方法),在编写PyQt5的代码时,完全可以参考Qt中的解析。还有一个是个人最近觉得比较重要的:无论是使用PyQt5还是Qt,联合使用UI设计器可以非常方便的开发(因为个人一直觉得用代码开发可以对控件位置精确掌控,而使用UI就像是奇技淫巧,做不到完美,不值得学习,但是我错了!)

Qt与PyQT中设置ToolBar在AllowedArea的显示的更多相关文章
- Qt应用程序中设置字体
Qt应用程序中设置字体 应用程序中经常需要设置字体,例如office软件或者是其他的编辑器软件等等.这里主要涉及到如下几个概念:字体,字号以及风格(例如:粗体,斜体,下划线等等).Qt里面也有对应的类 ...
- Qt设计器中设置border-image注意问题
Qt版本4.8.5,Windows7操作系统,在Qt设计师中通过样式表设计设置widget的border-image属性,debug版本编译会正常显示,但是release版本编译运行就不显示,把图片格 ...
- 关于在Fragment中设置toolbar及菜单的方法
在NoActionBar的主题中onCreateOptionsMenu方法不会运行,这里就需要将toolbar强制转换为ActionBar 在加入toolbar的监听之类后需要在onCreateVie ...
- Qt532.【转】Qt在pro中设置运行时库MT、MTd、MD、MDd,只适合VS版本的Qt
ZC:具体应该设置 什么参数,可以参看 自己转载的文章:"VC.[转]采用_beginthread__beginthreadex函数创建多线程 - CppSkill - 博客园.html&q ...
- 【转】Qt在pro中设置运行时库MT、MTd、MD、MDd,只适合VS版本的Qt
http://blog.csdn.net/caoshangpa/article/details/51416077 一.在pro中设置运行时库 最近在用Qt5.6.0(VS2013版本)调用一份用Vis ...
- k3 cloud中列表字段汇总类型中设置了汇总以后没有显示出汇总值
处理方法,需要bos中的分组列信息中设置求和: 选择对应字段将其从左侧添加到右侧 方法二: 直接针对[价税合计]字段的列表汇总类型进行设置,步骤如下图所示
- QT 在QTabWidget中设置一些调色板
这次所做的项目中需要用到如下功能,点击tableWidget中的子项,将会弹出颜色选值对话框,实现子项的改变,如下图所示: 1.首先,将自己定制的调色板放入tableWidget中 for (int ...
- C#中设置窗口在最前显示而其他窗口不能使用
对程序中的一个Form1处理,让其在打开的情况下,其他窗体都无法使用,全部焦点都在他身上. 1.这种方法最简单,直接调用窗体的模态对话框函数显示窗体 Form1.ShowDialog(): 2.设置窗 ...
- VS2008中设置字体大小和添加显示行号
1.字体设置 菜单->工具->选项->环境->字体和颜色 在字体那一栏可以选字体,VC6.0默认的字体是Fixedsys,字体大小你可以设为12,就与VC6.0的一样的字体了. ...
随机推荐
- 解决Oracle死锁问题,及产生的原因
文章来源:http://www.cnblogs.com/leijh/archive/2012/10/15/2724165.html 最近老是发现应该执行操作数据库的代码时发现执行不了,查了一下发现是数 ...
- es-03-DSL的简单使用
以下操作在kibana中进行, 如果在linux的shell中, 请使用 curl -Xget 'http://node1:9200/index/type/id' -d '{ ... }' 的形式, ...
- 19-hadoop-fof好友推荐
好友推荐的案例, 需要两个job, 第一个进行好友关系度计算, 第二个job将计算的关系进行推荐 1, fof关系类 package com.wenbronk.friend; import org.a ...
- 【详解】GrantedAuthority(已授予的权限)
前言 这篇是很久之前学习Spring Security整理的博客,发现浏览量都1000多了,一个赞都没有,那说明写得确实不怎么样,哈哈.应该很多初学者对这个接口存在疑问,特别是如果学习这个框架之前还了 ...
- js的轮播效果
图片的轮播效果!主要运用了元素的style样式属性,与 setInterval(); <!DOCTYPE html> <html> <head lang="en ...
- elasticSearch6源码分析(9)ActionModule
1.ActionModule概述 /** * Builds and binds the generic action map, all {@link TransportAction}s, and {@ ...
- 开源方案搭建可离线的精美矢量切片地图服务-7.Arcgis Pro企业级应用
1.前言 上篇讲.pbf字体库的时候说到我们使用的字体通过Arcgis Pro 生成,Arcgis Pro样式基于Mapbox做的矢量切片地图渲染.这篇主要讲一下Arcgis Pro矢量切片生成的的具 ...
- UVa 11988 Broken Keyboard(数组模拟链表)
题目链接: https://cn.vjudge.net/problem/UVA-11988 /* 问题 将一段文本经过一定的规则处理后输出,规则就是[表示home键,表示光标跳到行首,]表示end键, ...
- 分布式理论(六)—— Raft 算法
前言 我们之前讲述了 Paxos 一致性算法,虽然楼主尝试用最简单的算法来阐述,但仍然还是有点绕.楼主最初怀疑自己太笨,后来才直到,该算法的晦涩难懂不是只有我一个人这么认为,而是国际公认! 所以 Pa ...
- 分布式理论(三)—— 一致性协议之 2PC
前言 为了使系统尽量能够达到 CAP,于是有了 BASE 协议,而 BASE 协议是在可用性和一致性之间做的取舍和妥协. 人们往往需要在系统的可用性和数据一致性之间反复的权衡.于是呢,就产生我们标题中 ...