前言
有一段时间,很努力去学习很多乱七八糟的东西,ps,视频剪辑,经济学,心理学,基本都如蜻蜓点水一般一点而过,只留下那一圈涟漪,最后什么都没剩下。忽略掉世界上少有的那几个全能天才,绝大多数人的成功都在于选中目标之后长达数年的耕耘。知识是学习不完的,时间跟精力也是有限的。所以,但凡选择一个新内容,新方向去学习,你都要先问一下自己,你的目的是什么,你想获得什么,可以是出于兴趣,也可以是工作需要,总之,时间很宝贵,要明确自己的目标。
学习一定要带着目标去学。所以,写下你的目标,再开始学习吧。希望看到文章的人都能找到自己的目标,都能知道自己想要什么。博学,慎思,明辨,笃行。
以本人为例,本人没有任何编程基础,也不知道编程用来干嘛,所以选择一个比较友好的,可以实现很多东西的python语言,想试着了解编程到底是什么,我到底有没有兴趣继续学下去。而学习qt因为部门的一个自动测试项目。需要完成的部分功能是,自动生成实验报告,从xml格式转换到docx格式。
下面开始学习吧
==========================分割线==========================
“任何理论的首要任务都是阐述令人混淆的术语和概念。只有实现了术语和概念的一致性,我们才能清晰、流畅地思考问题,并且期望与读者分享相同的观点。”------克劳塞维茨,《战争论》作者
所以在学习之前,我觉得可以先查一查,什么是C,什么是Java,什么叫面向对象,什么是数据结构,什么是算法,什么是编程规范。
这里讲点想法,编程其实就是把你解决问题的思路用程序的形式表示出来。
python语言学习
Python官方教程:docs.python.org
github python学习资源(推荐):https://github.com/zhanshenjuexing/Python-100-Days.git
python作为一门的面向对象语言,随着数据科学的兴起变成了当红辣子鸡。而且它的优势就在于简洁优雅的代码风格,以及足够多库的支持,开发效率高,对新手程序员十分友好,可以实现很多花里胡哨的功能,十分适合培养编程的兴趣。但它也有自己的局限性,就是运行效率真的低,而且库的支持太过给力,保姆式的封装很不利于程序员的成长。所以还是建议从C,C++入手,python的上限很高,但不适合直接入手。本人考虑到后续学习,考试的需要,决定丢掉还没入门的python,稍微总结一下python的知识点,开始转向C++。
(编程 = 数据结构 + 算法实现)
1、库的安装
pip install python-docx(经常以这种形式安装库,具体细节自己百度)
导入
import PyQt5
from PyQt5.Qtwidgets import Qapplication,Qwidget
2、基本数据类型
#python 中万物皆对象
a = 12 #int
b = 'a' #str
c = [2,34] #list
d = {'a':2827} #dict
2、函数定义
def fun_time(parameters):
return True
3、类的定义
class ClassOfStu():
def __init__(self):
pass
def test(self):
pass
4、选择运行
if __name__ == '__main__':
main()
PyQt5编程学习
在此推荐一本书:《PyQt5快速开发与实战》王硕,孙洋洋著
链接:https://pan.baidu.com/s/19FBKkuDh-AGaKVl2DCqeUA
提取码:u9uk
PyQt5英文版教程:http://zetcode.com/gui/pyqt5/introduction/
中文版:https://maicss.gitbooks.io/pyqt5/content/
PyQt各控件查询:https://www.riverbankcomputing.com/static/Docs/PyQt5/api/qtgui/qcolor.html
python xml库:https://docs.python.org/zh-cn/3/library/xml.etree.elementtree.html#xml.etree.ElementTree.Element
由于时间有限,对pyqt的了解止步于入门。下面总结一下pyqt的基本思路。
一个交互界面可以分为一个一个的框,文本框,菜单栏,树列表等等。在pyqt中,有各自的类对应每一个功能块(称为控件),所以开发的第一步是把这些控件怼上去,然后再设计单击控件,双击控件对应触发什么事件。
(主窗口包含控件,控件设置了某个布局,然后以此类推,不断装填,最后生成我们想要的效果)
from PyQt5.QtWidgets import Qapplication,Qwidget,QMainWindow
class UiMain(QMainWindow):
def __init__(self):
super().__init__()
self.ui_init()
def ui_init(self):
self.widget = Qwidget()
#主窗体设置
self.setMinimumSize(900,600)
self.setWindowIcon(QIcon('./image/plane.jpg'))
self.setWindowTitle('topband')
self.main_widget = QtWidgets.QWidget()#生成主控件
self.main_layout = QtWidgets.QGridLayout()#生成主布局
self.main_widget.setLayout(self.main_layout)
#左侧主控件
self.left_widget = QtWidgets.QWidget()
self.left_layout = QtWidgets.QGridLayout()
self.left_widget.setLayout(self.left_layout)
self.left_widget.setFixedWidth(60)
#右侧主控件
self.right_widget = QtWidgets.QWidget()
self.right_layout = QtWidgets.QGridLayout()
self.right_widget.setLayout(self.right_layout)
#左右侧添加进主窗体控件
self.main_layout.addWidget(self.left_widget,0,0,10,1)
self.main_layout.addWidget(self.right_widget,0,1,10,10)
#设置为中心控件
self.setCentralWidget(self.main_widget)
def main():
#文件路径
#path = os.getcwd()
#print(path)
app = QtWidgets.QApplication(sys.argv)
gui = MainUi(path)
gui.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
#当然,运行后是空的,因为Qwidget控件是不会显示出来的,
#可以理解成一个空的框架吧,等你去装填东西。
python和pyqt5未入门总结到此结束,只是为了以后容易重新拿起来而已。针对之前的问题,这段时间的学习之后我有了以下答案:
编程语言真的是基础中的基础,只是一个小小的工具,主要还是看你感兴趣的方向。而编程本身是互联网时代解决问题的一种方式方法,并不需要你去纠结要不要学,因为你没资格纠结,只要你想在大城市混技术岗,只要是跟技术相关的,你肯定得打代码。所以学就完事了,技多不压身,这只是个工具而已,最主要的还是你想要往什么方向走的问题。
保持谦逊,继续学习,有问题可以交流,不同观点可以互相讨论辩论。路漫漫其修远兮,吾将上下而求索。为成为一个膜得感情的代码机器而不懈努力!!!
网友评论