Merge pull request #21 from xiyaowong/fix

fix: 同步到新版API
This commit is contained in:
maicss 2022-02-20 12:18:13 +08:00 committed by GitHub
commit 5980827981
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 20 additions and 20 deletions

View File

@ -124,7 +124,7 @@ class Example(QWidget):
OVER_CAPACITY = 750
sld = QSlider(Qt.Orientations.Horizontal, self)
sld = QSlider(Qt.Orientation.Horizontal, self)
sld.setFocusPolicy(Qt.FocusPolicy.NoFocus)
sld.setRange(1, OVER_CAPACITY)
sld.setValue(75)
@ -221,4 +221,4 @@ def changeValue(self, value):
图示: 烧录组件
本章的 PyQt6 教程里,我们创建了一个自定义部件。
本章的 PyQt6 教程里,我们创建了一个自定义部件。

View File

@ -3,7 +3,7 @@
本章教程,讲的是 PyQt6 中的拖拽操作。
计算机图形界面中,拖拽操作是点击一个对象不放,把它放在另外一个地方或者另外一个对象上面的操作。一来说,这会触发很多类型的行为,或者在两个对象上建立多种关系。
计算机图形界面中,拖拽操作是点击一个对象不放,把它放在另外一个地方或者另外一个对象上面的操作。一来说,这会触发很多类型的行为,或者在两个对象上建立多种关系。
在计算机图形用户界面中,拖放是(或支持)点击虚拟对象并将其拖到不同位置或另一个虚拟对象上的动作。 一般来说,它可以用来调用多种动作,或者在两个抽象对象之间创建各种类型的关联。
@ -166,7 +166,7 @@ class Button(QPushButton):
def mouseMoveEvent(self, e):
if e.buttons() != Qt.MouseButtons.RightButton:
if e.buttons() != Qt.MouseButton.RightButton:
return
mimeData = QMimeData()
@ -183,7 +183,7 @@ class Button(QPushButton):
super().mousePressEvent(e)
if e.button() == Qt.MouseButtons.LeftButton:
if e.button() == Qt.MouseButton.LeftButton:
print('press')
@ -243,7 +243,7 @@ class Button(QPushButton):
基于 `QPushButton` 创建了一个 `Button` 类,并实现了两个 `QPushButton` 方法:`mouseMoveEvent``mousePressEvent``mouseMoveEvent` 方法是处理拖放操作开始的地方。
``` python
if e.buttons() != Qt.MouseButtons.RightButton:
if e.buttons() != Qt.MouseButton.RightButton:
return
```
定义鼠标右键为触发拖拽操作的按钮,鼠标左键只会触发点击事件。
@ -266,7 +266,7 @@ def mousePressEvent(self, e):
super().mousePressEvent(e)
if e.button() == Qt.MouseButtons.LeftButton:
if e.button() == Qt.MouseButton.LeftButton:
print('press')
```
如果鼠标左键点击按钮,会在控制台打印 'press' 消息,注意,这里在父级上也调用了 `mousePressEvent` 方法,不然按钮按下的动作不会展现出来。

View File

@ -50,7 +50,7 @@ class Example(QWidget):
def initUI(self):
lcd = QLCDNumber(self)
sld = QSlider(Qt.Orientations.Horizontal, self)
sld = QSlider(Qt.Orientation.Horizontal, self)
vbox = QVBoxLayout()
vbox.addWidget(lcd)
@ -188,7 +188,7 @@ class Example(QWidget):
self.text = f'x: {x}, y: {y}'
self.label = QLabel(self.text, self)
grid.addWidget(self.label, 0, 0, Qt.Alignment.AlignTop)
grid.addWidget(self.label, 0, 0, Qt.AlignmentFlag.AlignTop)
self.setMouseTracking(True)
self.setLayout(grid)

View File

@ -59,7 +59,7 @@ class Example(QWidget):
qp.setPen(QColor(168, 34, 3))
qp.setFont(QFont('Decorative', 10))
qp.drawText(event.rect(), Qt.Alignment.AlignCenter, self.text)
qp.drawText(event.rect(), Qt.AlignmentFlag.AlignCenter, self.text)
def main():
@ -94,9 +94,9 @@ qp.setFont(QFont('Decorative', 10))
这里定义了绘制文本的笔触和字体。
``` python
qp.drawText(event.rect(), Qt.Alignment.AlignCenter, self.text)
qp.drawText(event.rect(), Qt.AlignmentFlag.AlignCenter, self.text)
```
drawText 方法在窗口上绘制文本。paintEvent 的rect方法返回需要更新的矩形。用 `Qt.Alignment.AlignCenter` 在两个维度上对齐文本。
drawText 方法在窗口上绘制文本。paintEvent 的rect方法返回需要更新的矩形。用 `Qt.AlignmentFlag.AlignCenter` 在两个维度上对齐文本。
![Drawing text](./images/drawingtext.png)
@ -577,4 +577,4 @@ qp.drawPath(path)
图示:贝塞尔曲线
本章讲解了基本的绘画。
本章讲解了基本的绘画。

View File

@ -253,7 +253,7 @@ class Example(QWidget):
def initUI(self):
sld = QSlider(Qt.Orientations.Horizontal, self)
sld = QSlider(Qt.Orientation.Horizontal, self)
sld.setFocusPolicy(Qt.FocusPolicy.NoFocus)
sld.setGeometry(30, 40, 200, 30)
sld.valueChanged[int].connect(self.changeValue)
@ -296,7 +296,7 @@ if __name__ == '__main__':
示例中,模拟了音量控制。通过拖动滑块的手柄,我们可以改变标签上的图像。
``` python
sld = QSlider(Qt.Orientations.Horizontal, self)
sld = QSlider(Qt.Orientation.Horizontal, self)
```
创建一个水平的 `QSlider`

View File

@ -198,11 +198,11 @@ class Example(QWidget):
bottom = QFrame(self)
bottom.setFrameShape(QFrame.Shape.StyledPanel)
splitter1 = QSplitter(Qt.Orientations.Horizontal)
splitter1 = QSplitter(Qt.Orientation.Horizontal)
splitter1.addWidget(topleft)
splitter1.addWidget(topright)
splitter2 = QSplitter(Qt.Orientations.Vertical)
splitter2 = QSplitter(Qt.Orientation.Vertical)
splitter2.addWidget(splitter1)
splitter2.addWidget(bottom)
@ -231,13 +231,13 @@ topleft.setFrameShape(QFrame.Shape.StyledPanel)
```
给框架组件设置一些样式,这样更容易看清楚边界。
``` python
splitter1 = QSplitter(Qt.Orientations.Horizontal)
splitter1 = QSplitter(Qt.Orientation.Horizontal)
splitter1.addWidget(topleft)
splitter1.addWidget(topright)
```
创建一个有俩框架组件的 `QSplitter` 组件。
``` python
splitter2 = QSplitter(Qt.Orientations.Vertical)
splitter2 = QSplitter(Qt.Orientation.Vertical)
splitter2.addWidget(splitter1)
```
再添加一个分割条和一个框架组件。
@ -341,4 +341,4 @@ def onActivated(self, text):
![QComboBox](./images/qcombobox.png)
图示QComboBox
图示QComboBox