---
# System prepended metadata

title: 按鈕變換詞句
tags: [從0開始運用PyQt – UpDate to == 6.0]

---

# 按鈕變換詞句
###### tags: `從0開始運用PyQt – UpDate to == 6.0`

## 空架
* 先處理背景
```python=
from PyQt6.QtWidgets import *
from PyQt6.QtGui import *
from PyQt6 import QtCore, QtGui
import sys

class root(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("實踐")
        self.setWindowIcon(QIcon("Your picture"))


if __name__ == "__main__":
    import sys
    app = QApplication([])
    window = root()
    window.show()
    sys.exit(app.exec())
```

* 目前的樣子
![](https://i.imgur.com/4Y2kxsM.png)


## 背景
* 有許多種方法
```python=
# 第一種
setStyleSheet("background-color: your-color")
# 第二種
setStyleSheet("background-image: your-image")
```
* 我們選擇第二種 :point_down: 
```python=
# class內部
stylesheet = """
    background-image: url("g.png");
    background-position: center;
"""
self.setStyleSheet(stylesheet)

# 最下面
window.resize(640, 640)
```

* 結果
![](https://i.imgur.com/dKaS6M8.png)


## 亂數
```python=
import random

# __init__()內部
self.hello = ["hello", "早安", "morning"]
```

## 按鈕
```python=
def BtnChange(self):
    btn = QPushButton("click me", self)
    btn.resize(500, 50)
    btn.move(75, 550)
```

## 連線
```python=
# BtnChange()
btn.clicked.connect(self.changeDescribe)
```

## 接收信號
```python=
def changeDescribe(self):
    self.label.setText(random.choice(self.hello))
```

## 文字
```python=
self.label = QLabel("test", self)
self.label.setGeometry(QtCore.QRect(265, 100, 600, 200))
#這行程式的意思是： QRect(x, y, 水平長度, 縱向長度)
self.label.setFont(QtGui.QFont('STIX Two Text', 80))
#這行程式是用於設定字體、大小
```

## 呼叫
```python=
# 在 __init__()裡呼叫
self.BtnChange()
```

## 成果
* 圖片範例
![](https://i.imgur.com/AnbZqZa.png)



{%hackmd S1DMFioCO %}