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的一样的字体了. ...
随机推荐
- 面试题-----按位翻转32位unsigned
// test.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> #include < ...
- Oracle10g 64位 在Windows 2008 Server R2 中的安装 解决方案
背景: 操作系统Windows 2008 Server R2 要安装Oracle10g 64位版本 安装时出现如下错误: 检查操作系统版本:必须是5.0,5.1,5.2 or 6.0.实际为6.1 未 ...
- 【详解】JNI (Java Native Interface) (二)
案例二:传递参数给C代码,并从其获取结果 注:这里传递的参数是基本类型的参数,在C代码中有直接的映射类型. 此案例所有生成的所有文件如下: (1)编写案例二的Java代码,如下: 这里我们定义了一个n ...
- python3 get post请求Yunba RESTful API
一:主要内容 获取云巴appkey和seckey 状态回复说明 get请求 post请求 二:获取云巴appkey和seckey 1. 注册云巴 在云巴官网,注册一个云巴账号,官网地址:https:/ ...
- PHP filter_input() 函数
以往,对于常见的SQL注入等漏洞,采取的方式一般都是对数据进行过滤,而对$_GET/$_POST/$_COOKIE/$_SERVER等全局数组变量的直接使用是不够安全的,故PHP 5.2.0版本以后, ...
- Java maven项目的小随笔
1.web.xml里面有filter拦截设置,注意. 2.编译之后,网页中读取资源的路径是apache-tomcat/wtpwebapps/..,若该路径下没有相应资源,则报404错误.
- C语言Win32 Application 的标题栏图标,任务栏图标,exe文件图标问题
我们这里新建的首先是一个空工程,新建c文件. 因为是空工程,我们没有资源文件,要用到图标资源,首先要新建和导入图标为资源. 选择引入资源,选择要引入的ico文件 完成,重命名保存Script_icon ...
- Windows 忘记登录密码解决方法 【摘抄于百度】
一.简单的方法: 开机启动windows,进入欢迎界面后,会出现输入用户名密码提示框,这时候,同时按住Ctrl+Alt+Delete,会跳出一个账号窗口,输入用户名:administer,按回车即可. ...
- JSON数据的各种操作
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.R ...
- SourceTree这是一个无效的源路径
工具->选项:修改一般下面的SSH客户端为OpenSSH