Python3进阶篇(三)——多线程
Python3进阶篇(三)——多线程前言:阅读这篇文章我能学到什么? 一个应用程序就相当于一个进程,该进程创建时就具有一个主线程(内核线程),主线程可以创建其他子线程(用户线程),当存在子线程时就形成了多线程。多线程可以使得运行程序在宏观上同时执行多个任务,在一定程度上加快软件执行速度。线程的操作涉及到:线程创建、同步、退让、抢占等。请阅读这篇文章学习它。 1 了解并创建线程1.1 了解线程 当进程被创建时,操作系统将会为它创建一个主线程,也即内核线程,注意它是操作系统创建的。用户可以通过主线程创建子线程,或称用户线程。不论主线程还是子线程,每个独立的线程都有一个程序的入口,对应在代码中就是入口函数。一个进程可以有多个线程,线程是进程的执行单元。宏观上各个线程可以是同时执行的,微观上依然是CPU分时间片执行。Python3为我们提供了操作线程的类,这简化了线程开发的步骤。旧的线程模块是_thread,Python3提供了新的模块’threading’操作线程。 1.2...
PySide2基础篇(十五)——QFileDialog运用
PySide2基础篇(十五)——QFileDialog运用前言:阅读这篇文章我能学到什么? FileDialog被用于进行目录选择、单个文件选择、多个文件选择。下面讲解基本用法。 1 创建文件对话框1.1 选择目录 getExistingDirectory()方法可调用目录选择对话框,选定目录后该函数返回所选路径。 代码示例: 123456789101112from PySide2.QtWidgets import QApplication, QMainWindow, QFileDialogapp = QApplication([])MainWindow = QMainWindow()FileDialog = QFileDialog(MainWindow)FileDirectory = FileDialog.getExistingDirectory(MainWindow, "标题") ...
PySide2基础篇(十四)——QMessageBox运用
PySide2基础篇(十四)——QMessageBox运用前言:阅读这篇文章我能学到什么? MessageBox在对话框编程中较常用,而Qt为我们提供了较多种MessageBox选择,有critical、warning、information、about、question几种。 1 创建MessageBox对话框 由于使用比较简单,所以不多作文字介绍。 1.1 critical 代码示例: 1234567891011from PySide2.QtWidgets import QApplication, QMainWindow, QMessageBoxapp = QApplication([])MainWindow = QMainWindow()MessageBox = QMessageBox()MessageBox.critical(MainWindow, "标题", "内容") ...
PySide2基础篇(十三)——QToolBar和QStatusBar运用
PySide2基础篇(十三)——QToolBar和QStatusBar运用前言:阅读这篇文章我能学到什么? 前面降到了对话框的菜单栏,这篇继续讲对话框的工具栏和状态栏。它们也是设计对话框程序较常用的控件,想想我们用的IDE界面就能明白它们的重要性。 1 工具栏1.1 创建工具栏 工具栏就像菜单栏那样,它也是对多个控件组合的控件。我们可以给工具栏添加多个控件。我们尝试给主对话框创建一个工具栏控件,并给其添加几个按钮控件。 代码示例: 1234567891011121314151617181920212223from PySide2.QtWidgets import QApplication, QMainWindow, QToolBar, QPushButtonfrom PySide2.QtGui import QIconapp = QApplication([])MainWindow = QMainWindow()Icon = QIcon(".\png\Icon.ico")PushButton1...
PySide2基础篇(十二)——QMenuBar和QMenu运用
PySide2基础篇(十二)——QMenuBar和QMenu运用前言:阅读这篇文章我能学到什么? 每个对话框都可以设置一个菜单栏,菜单栏是分类管理按钮的最佳控件。请阅读这篇文章学学。 1 创建菜单栏和添加菜单项 我们尝试对主对话框添加菜单栏,并为菜单栏中添加菜单项。 代码示例: 12345678910111213141516171819202122from PySide2.QtWidgets import QApplication, QMainWindow, QMenuBar, QMenuapp = QApplication([])MainWindow = QMainWindow()MenuBar = MainWindow.menuBar() #获取主对话框的菜单栏MenuBar.resize(100, 20)MenuA = MenuBar.addMenu("MenuA") #给MenuBar添加菜单MenuA1 =...
PySide2基础篇(十一)——QSpinBox运用
PySide2基础篇(十一)——QSpinBox运用前言:阅读这篇文章我能学到什么? 数字输入框即限制只能输入数字内容,也可以限制输入的数字范围。是输入数字信息时首选的控件 1 创建数字输入框 通过类QSpinBox可以实例化数字输入框控件。 代码示例: 1234567891011121314from PySide2.QtWidgets import QApplication, QMainWindow, QSpinBoxfrom PySide2.QtCore import Slotapp = QApplication([])MainWindow = QMainWindow()SpinBox = QSpinBox(MainWindow)SpinBox.resize(100, 20)SpinBox.value()SpinBox.setRange(0, 100) ...
PySide2基础篇(十)——QProgressBar运用
PySide2基础篇(十)——QProgressBar运用前言:阅读这篇文章我能学到什么? 进度条常用语表示人物执行的进度,也是常用的控件。请阅读这篇文章学习它。 1 创建进度条 PySide2提供了类QProgressBar进行进度条控件的创建。 代码示例: 12345678910111213from PySide2.QtWidgets import QApplication, QMainWindow, QProgressBarapp = QApplication([])MainWindow = QMainWindow()ProgressBar = QProgressBar(MainWindow)ProgressBar.resize(100, 20) #设置大小ProgressBar.setRange(0, 100) #设置范围ProgressBar.setValue(50) ...
PySide2基础篇(九)——QTabWidget运用
PySide2基础篇(九)——QTabWidget运用前言:阅读这篇文章我能学到什么? 标签页控件中可以放入控件或子对话框,使得页面设计功能划分更清晰。请阅读这篇文章学习它,因为这很重要。 1 创建标签页控件 PySide2为我们提供了QTabWidget类实例化标签页控件。我们尝试创建一个标签页控件,并为其创建三个标签页,也即放入三个子对话框。我们给每个子对话框分别放入一个控件按钮。 代码示例: 123456789101112131415161718192021222324from PySide2.QtWidgets import QApplication, QMainWindow, QTabWidget, QDialog, QPushButtonapp = QApplication()MainWindow = QMainWindow()Dialog1 = QDialog()Dialog2 = QDialog()Dialog3 = QDialog()PushButton1 =...
PySide2基础篇(八)——QRadioButton和QCheckBox运用
PySide2基础篇(八)——QRadioButton和QCheckBox运用前言:阅读这篇文章我们能学到什么? 同属于一组的多个单选按钮,每次只能选中一个,而多选按钮则可同时选中多个。 1 单选按钮1.1 创建单选按钮 属于同一组的多个单选按钮,每次只能选中一个。选中一个,则其他被选中的自动变为未选中状态。 代码示例: 123456789101112131415161718from PySide2.QtWidgets import QApplication, QMainWindow, QRadioButtonapp = QApplication([])MainWindow = QMainWindow()RadioBUtton1 = QRadioButton(MainWindow)RadioBUtton1.move(0, 0)RadioBUtton1.setText("选项1")RadioBUtton2 =...
PySide2基础篇(七)——QComboBox运用
PySide2基础篇(七)——QComboBox运用前言:阅读这篇文章我能学到什么? 组合框是进行选择性输入常用的控件,这篇文章将介绍它的基本用法。 1 创建一个组合框 通过类QComboBox创建一个组合框对象,addItem()函数用于给组合框添加项。 代码示例: 12345678910111213from PySide2.QtWidgets import QApplication, QMainWindow, QComboBoxapp = QApplication([])MainWindow = QMainWindow()ComboBox = QComboBox(MainWindow)ComboBox.addItem("1")ComboBox.addItem("2")ComboBox.addItem("3")MainWindow.show()app.exec_() 运行结果: 2...