七月 16

Pyside2中的QTabWidget和QGroupBox

Container widgets: QTabWidget和QGroupBox。它们用来盛放其他widgets
QTabWidget的使用流程:

  1. 新建QTabWidget实例
  2. 使用QWidget或者其他widget创建一个UI界面
  3. 使用addTab()或insertTab()方法将新建的UI界面添加到第一步中新建的QTabWidget实例中
    QGroupBox用来将form中几个输入控件分成一组,并加上相应的标签:
  4. 新建QGroupBox实例
  5. 给这个QGroupBox实例添加对应的layout
  6. 在layout中添加widget
    如果你只需要一个没有标签的边框,不需要QGroupBox的其他复杂功能,可以简单的使用QFrame作为替代
七月 16

Pyside2知识点

  • 所有需要使用QString的地方,都可以使用Unicode的字符串代替
  • enum和flag类型都保存在QtCore.Qt中。enum和flag类似,但是flag可以用 | 连接多个选项
  • size hint指的是widget的推荐尺寸。这个推荐尺寸可以通过sizeHint()方法获得。由于sizeHint()是一个方法,因此要修改它时需要重载函数。
  • 设置sizeHint也可以利用lambda表达式:
    # 注意sizeHint必须赋值一个QtCore.QSize类的实例
    textedit.sizeHint = lambda: qtc.QSize(500, 500)
  • size policy只的是根据size hint决定如何改变尺寸。值得注意的是,setPolicy是一个属性而不是方法。可以给这个属性赋值QtWidgets.QSizePolicy.Policy中的枚举值。
七月 12

Pyside2模板

import sys
from PySide2 import QtWidgets as qtw
from PySide2 import QtGui as qtg
from PySide2 import QtCore as qtc

# 将主程序封装成类
class MainWindow(qtw.QWidget):
    def __init__(self):
        # 引入父类的__init__方法
        super().__init__(parent=None)
        # Main UI code goes here

        # End main UI code
        # 显示主窗口
        self.show()

if __name__ == '__main__':
    app = qtw.QApplication()
    main_window = MainWindow()
    sys.exit(app.exec_())
七月 12

Pyside2入门

from PySide2 import QtWidgets  
# QtWidgets模块中包含了Qt中的众多widget。widget指的是可见的组件,例如按钮,文本框等

app = QtWidgets.QApplication()  # 创建主程序,在创建任何widget之前必须先创建QApplication

# 设置属性可以直接利用constructor arguments来设置或者对应的setter method

# 创建一个空白的widget,将windowTitle属性设置为Hello Qt
# window = QtWidgets.QWidget(parent=None, windowTitle='Hello Qt')

window = QtWidgets.QWidget(parent=None)
window.setWindowTitle('Hello Qt')  # 使用setter method设置属性

print(window.windowTitle())  # 可以利用getter method来获取某个属性的值

window.show()  # 显示主窗口。主窗口只有调用.show()方法才会显示
app.exec_()  # 开启主程序的事件循环

# Pyside程序基本流程
# 1. 创建一个 QApplication 对象
# 2. 创建一个主窗口
# 3. 显示主窗口
# 4. 调用 QApplication.exec() 开启主程序的事件循环