一、为什么写这片博文

   近期将实验室的电脑的OS换成了ubuntu,想对linux进一步的了解和使用。在使用的过程中想用python+pyqt5写一个音乐播放器和视频播放器(这也是linux的乐趣所在),就开始学习了一段时间pyqt5,对pyqt5基本的操作熟悉了。
熟悉了pyqt5之后着手开始写播放器,安装qtdesigner的开发环境,但是发现几乎全是在windows环境下,与linux环境下有一些区别,所以在我安装好linux环境下的开发环境后想写这一片博文,记录下自己学习的过程,也为不会安装的朋友们出一个注意。也为linux平台做出自己的贡献。

二、开始按装

第一步 安装 pip,virtualenv,pyqt5,qtdesigner

1.安装pip
sudo apt-get install python3-pip
2.安装virtualenv
python3 -m pip install virtualenv
创建虚拟环境 env并切换到虚拟环境
3.安装pyqt5
pip install pyqt5
4安装qtdesigner
sudo apt-get install qt5-default qttools5-dev-tools
在终端输入designer启动

三、pycharm配置

File->Setting->Tools->External Tools



点击绿色的“加号”



这样子填写

Porgram填写虚拟环境中使用的python

Arguments填写-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py

Workdirectory 填写你的工作目录

保存即可。

四、工具使用

1.在终端输入designer 打开qtdesigner选择widget

2.对编辑好的界面文件进行保存,保存到工作目录(与三里面的工作目录相同)

3.对ui文件进行转换



就会生成一个同样名称的一个py文件。

4.对生成的py文件进行修改。

在末尾添加

if __name__=="__main__":
import sys
from PyQt5.QtGui import QIcon
app=QtWidgets.QApplication(sys.argv)
widget=QtWidgets.QWidget()
ui=Ui_Form()
ui.setupUi(widget)
widget.setWindowIcon(QIcon('web.png'))#增加icon图标
widget.show()
sys.exit(app.exec_())

五、总结

到现在就可以使用QtDesigner进行窗口的可视化编辑了。希望这片博文对大家有所帮助,有任何问题请联系我,学习交流。谢谢观看!

联系方式

邮箱 wongyinlong@yeah.com

QQ 3116316431

Ubuntu+PyQt5+Python3.6+Qt Designer 实现可视化窗口的编辑的更多相关文章

  1. pyqt5对用qt designer设计的窗体实现弹出子窗口的示例

    pyqt5对用qt designer设计的窗体实现弹出子窗口的示例 脚本专栏 python 1. 用qt designer编写主窗体,窗体类型是MainWindow,空白窗口上一个按钮.并转换成mai ...

  2. PyQt(Python+Qt)学习随笔:Qt Designer中主窗口对象的tabShape属性

    tabShape属性用于控制主窗口标签部件(Tab Widget)中的标签的形状,对应类型为QTabWidget.TabShape,有两种取值: 1.QTabWidget.Rounded:对应值为0, ...

  3. Pyqt5+python+ErIC6+QT designer

    Eric6安装及配置 https://blog.csdn.net/weixin_41656968/article/details/80253012 Python3.6+PyQt5+Eric6.0环境配 ...

  4. PyQt(Python+Qt)学习随笔:Qt Designer中主窗口对象的toolButtonStyle属性

    tooButtonStyle属性保存主窗口工具栏按钮的样式设置,用来表示工具栏按钮的文字和图标怎么显示. 该属性的可设置值类型为枚举类型Qt.ToolButtonStyle,它包含如下值: 该属性的缺 ...

  5. PyQt(Python+Qt)学习随笔:Qt Designer中主窗口对象unifiedTitleAndToolBarOnMac属性

    unifiedTitleAndToolBarOnMac 用于确认在mac操作系统上是否使用统一的标题和工具栏外观 有如下几个限制: 1.不支持使用带OpenGl内容的窗口,包括QGLWidget 和 ...

  6. PyQt(Python+Qt)学习随笔:Qt Designer中主窗口对象dockNestingEnabled属性

    dockNestingEnabled 属性是确认主窗口的浮动部件(dock widget)是否允许嵌套的一个属性. 如果此属性为False,则浮动部件停靠区域只能包含一个浮动部件(水平或垂直).如果此 ...

  7. PyQt(Python+Qt)学习随笔:Qt Designer中主窗口对象documentMode属性

    documentMode属性表示当前主窗口是否启用文档模式,如果是则主窗口的选项卡部件会以适合操作文档的模式呈现,这类似于macOS上的文档模式. 设置此属性时,界面上不会呈现选项卡部件框架.此模式当 ...

  8. PyQt(Python+Qt)学习随笔:Qt Designer中主窗口对象的animated属性

    animated属性用于设置在操作可浮动部件和工具栏时是否设置动画. 当一个可浮动部件或工具栏被拖到主窗口上时,主窗口将调整其内容,以显示浮动部件或工具栏应该放置的位置.设置此属性后主窗口将使用平滑动 ...

  9. PyQt(Python+Qt)学习随笔:Qt Designer中主窗口对象的iconSize属性

    主窗口对象的iconSize属性保存的是主窗口中工具栏的图标尺寸,在没有设置时缺省是GUI图形界面样式中定义的工具栏的缺省大小. 注意:这个大小是工具栏图标的最小尺寸. 可以使用iconSize()返 ...

随机推荐

  1. vue组件递归的一些理解

    自己做个小项目练手,需要用到组件递归,网上查了一些资料,每个代码片段都认识,但是连起来,就一团浆糊. 既然人傻就多思考吧.不明白的点有以下: 1.组件怎么自己调用自己,函数的递归是就是在functio ...

  2. package.json 中 scripts

    "name": "webpack-study1", "version": "1.0.0", "main&quo ...

  3. 转移顺序的艺术 luogu4394 + lougu2966 + luogu3537

    lougu4394: N个政党要组成一个联合内阁,每个党都有自己的席位数. 现在希望你找出一种方案,你选中的党的席位数要大于总数的一半,并且联合内阁的席位数越多越好. 对于一个联合内阁,如果某个政党退 ...

  4. Ubuntu下哪个PDF阅读器更好使???

    根据windows系统上的经验,果断选择了foxit reader的linux版本: 从 http://www.foxitsoftware.com/downloads/ 选择 “Desktop Lin ...

  5. [NOI2003]逃学的小孩(树的直径)

    [NOI2003]逃学的小孩 题目描述 Chris家的电话铃响起了,里面传出了Chris的老师焦急的声音:"喂,是Chris的家长吗?你们的孩子又没来上课,不想参加考试了吗?"一听 ...

  6. CF17E Palisection(回文树)

    题意翻译 给定一个长度为n的小写字母串.问你有多少对相交的回文子 串(包含也算相交) . 输入格式 第一行是字符串长度n(1<=n<=2*10^6),第二行字符串 输出格式 相交的回文子串 ...

  7. ArcGIS api for javascript——1,2,3综合

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  8. Java排序算法(二):简单选择排序

    [基本思想] 在要排序的一组数中.选出最小的一个数与第一个位置的数交换:然后在剩下的数中再找出最小的与第二个位置的数交换,如此循环至倒数第二个数和最后一个数比較为止. 算法关键:找到最小的那个数.并用 ...

  9. Unity 之 C# 利用回调函数实现C++匿名函数

    做C++开发的都用过匿名函数很好用,可是C#开发怎么实现呢?前几天做一个拍照功能的时候.我偶然发现某个函数假设是C++的话.用匿名函数太好了,于是開始研究C#的回调,代理.托付等,最后总算是实现了我想 ...

  10. MFC Wizard创建的空应用程序中各个文件内容的解析

    创建的MFC应用程序名为:wd,那么: 一.wd.h解析 // wd.h : main header file for the WD application // #if !defined(AFX_W ...