大理缘:朋友爱与创业奋斗记
Advertisement
清晨的第一縷過窗簾的隙,輕輕地拂過我的臉頰。手機界面上,鐵男發來的位置信息在微中顯得格外清晰。我不深吸一口氣,將其轉發給了桃子,心中卻沒有太多的波瀾。我深知,無論友還是,都如同夜幕中的星辰,即使璀璨奪目,也終將歸于沉寂。
我不冷漠,只是深知,如水,波濤洶涌,起伏不定,又怎能輕易置其間, PyQt5 是一個功能強大的平臺應用程序開發工,它允許開發者使用 Python 語言創建有 GUI 的桌面應用程序,并且能夠運行在 Windows、Mac、Linux 等不同的作系統上。以下是一些關于如何使用 PyQt5 開發桌面應用程序的基本步驟:
### 安裝 PyQt5
首先,你需要安裝 PyQt5。可以通過以下命令在你的系統上安裝:
```bash
pip install PyQt5
```
### 創建主窗口
PyQt5 的基礎是 `QMainWindow` 或 `QWidget`。以下是如何創建一個簡單的基于 `QMainWindow` 的窗口的示例:
Advertisement
```python
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('PyQt5 窗口示例')
self.setGeometry(100, 100, 400, 300)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
### 添加部件
在窗口中,你可以添加各種部件,如按鈕、文本框等。以下是如何在窗口中添加一個按鈕的示例:
```python
from PyQt5.QtWidgets import QPushButton
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('PyQt5 窗口示例')
self.setGeometry(100, 100, 400, 300)
self.button = QPushButton('點擊我', self)
self.button.setGeometry(100, 100, 200, 100)
self.button.clicked.connect(self.on_button_clicked)
def on_button_clicked(self):
print('按鈕被點擊了')
```
### 事件理
PyQt5 中的事件理是通過信號和槽來實現的。以下是如何將按鈕的點擊事件與一個方法關聯的示例:
```python
from PyQt5.QtCore import pyqtSlot
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('PyQt5 窗口示例')
self.setGeometry(100, 100, 400, 300)
self.button = QPushButton('點擊我', self)
self.button.setGeometry(100, 100, 200, 100)
self.button.clicked.connect(self.on_button_clicked)
@pyqtSlot()
def on_button_clicked(self):
print('按鈕被點擊了')
```
### 化窗口
PyQt5 提供了富的樣式和主題,你可以通過 CSS 或樣式表來化你的應用程序。以下是如何應用一個簡單的樣式表的示例:
```python
from PyQt5.QtWidgets import QApplication, QLabel
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('PyQt5 窗口示例')
self.setGeometry(100, 100, 400, 300)
self.label = QLabel('歡迎使用 PyQt5!', self)
self.label.setStyleSheet('color: white; background-color: black;')
self.label.setGeometry(50, 50, 300, 100)
```
### 實現多窗口
如果需要創建多個窗口,可以使用 `QStackedWidget` 或 `QTabWidget` 等控件來管理窗口。以下是如何使用 `QStackedWidget` 創建多個窗口的示例:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QPushButton, QStackedWidget
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('PyQt5 多窗口示例')
self.setGeometry(100, 100, 400, 300)
self.stacked_widget = QStackedWidget(self)
self.setCentralWidget(self.stacked_widget)
self.window1 = QWidget()
self.window1_button = QPushButton('打開窗口2', self.window1)
self.window1_button.clicked.connect(self.show_window2)
self.window1_layout = QVBoxLayout()
self.window1_layout.addWidget(self.window1_button)
self.window1.setLayout(self.window1_layout)
self.window2 = QWidget()
self.window2_button = QPushButton('打開窗口1', self.window2)
self.window2_button.clicked.connect(self.show_window1)
self.window2_layout = QVBoxLayout()
self.window2_layout.addWidget(self.window2_button)
self.window2.setLayout(self.window2_layout)
self.stacked_widget.addWidget(self.window1)
self.stacked_widget.addWidget(self.window2)
def show_window1(self):
self.stacked_widget.setCurrentWidget(self.window1)
def show_window2(self):
self.stacked_widget.setCurrentWidget(self.window2)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
通過這些步驟,你可以開發出各種功能的桌面應用程序。PyQt5 的強大之在于其富的控件和事件理機制,能夠讓你輕松地創建出觀且功能齊全的應用程序。
Advertisement
- 連載385 章
霸氣劍神
整天都呆在宗門後山,保持拔劍的姿勢,這一拔竟長達兩年半之久,風雨無阻。宗門裏的人都嘲笑我是個資質低劣的傻子。就連聖女秦飄飄也在今日來到我住所,直接提出咱倆之間的婚約就此作廢。 我平靜地問秦飄飄為什麼,他說我們不是同一個世界的人。我資質平庸,如果不是因為我爹留下的聲名,根本沒資格留在劍宗。而秦飄飄貴為聖女,不僅前途光明,甚至就算是這偌大的劍宗,也絕不會是他的久居之處。 秦飄飄言語之間毫不掩飾對我的不屑。但我和她青梅竹馬,從小一起長大,雖說修行天賦有別,可之前關係算融洽。 我心有所察,於是問道:“這麼急著撇清關係,看來你是有心上人了?” “是又怎樣?”秦飄飄滿不在乎地開口,“我就算要嫁,也只會嫁給無名劍神,又怎會嫁給你這種廢物?” 聞言,我挑了挑眉。兩年半以來,劍宗每每遭逢噩難,或是秦飄飄深陷困境,都有一位神秘劍修出手相助。那位劍修戴著面具,不知真容,也沒透露過身份,所以被弟子們稱作無名劍神。 但沒人知道,我正是那個無名劍神。
8.18 31858 - 連載85 章
強勢勇士
我只是做實驗室時不小心手抖了一下,竟被好弟弟打了999個大逼兜。 就在我握緊拳頭準備拼命反擊時,一聲震耳欲聾的爆炸聲突然在我耳邊響起。是養子弟弟方宇跑到外面引爆了實驗室,製造了一場實驗意外爆炸的假像。 之後,我只能躺在病床上靠呼吸機維持生命。受限於身體原因,我已經無法將真相公之於眾。更可恨的是,在我病危那天,正好是楊子方宇結婚的日子。醫院讓方家人來見我最後一面,可他們卻擔心影響方宇的婚禮。等婚禮忙完,已是下午4點,一家人才想起還有個病危的我。 我匆匆趕到醫院,卻發現躺在病床上的我身體都已經涼透了。而這一切,都是楊子方宇為除掉我而精心設計的。
8.18 4105 - 完結86 章
心動小潮
全世界萬人追捧的影後姐姐,卻患有嚴重的心理疾病。每次發病都會把自己關進小黑屋裏,直到你穿越黑暗抱住她。她說你是照亮她內心世界的一束光,等她病好後,要跟你結婚過一輩子。
8.18 7365 - 完結471 章
滿堂情郎
別人都羡慕你有萬年陽壽的時候,只有你知道,當初誤食仙草換來的能力只是一種詛咒。畢竟毫無根基的你哪怕壽命再長,也只是條死得慢些的鹹魚。好在你的兩個弟弟從小就展露出了驚人的天賦,所以這些年你寧可不眠不休,也要打工將他倆培養成才。兄弟兩個也知恩圖報,自幼苦練,終於把他們都分別送入了頂級宗門。之後自知已無價值的你,為了不拖累兩個未來大帝的前程,選擇了一個月黑風高的晚上默默離開,從此踏上了遊歷世界的孤獨旅程。
8.18 15770 - 連載173 章
無敵劍道
為了領悟無敵劍道,十年如一日地打磨一把生銹的破劍。可不知情的家族眾人都以為你瘋了,但他們不知道的是,你只是不經意間洩露的劍氣,就將九天十地的大帝強者嚇得瑟瑟發抖。隨意揮出的一劍,便能斬羽化飛仙的你,渡劫天道也不敢給降下天劫。只因你的系統要求,魔劍十年才能成功綁定。你也從11歲磨到了21歲,如今十年之期已至,你腦海中突然想起了久違的聲音: “恭喜宿主,十年魔劍、十萬次劍道系統綁定成功。發佈主線任務:擊敗大陸第一強者女帝姬如夢,阻止女帝飛升仙界拯救世界。”
8.18 3872 - 完結818 章
無限核能
炸了,炸了!剛上大一的你就把學校給炸了,而且一天還炸了兩次。身邊的同學都罵你是個瘋子,甚至校長還要把你送進精神病院。只因你覺醒了超神科技系統,只要連續完成3次爆炸實驗,就可以獲得系統獎勵。到時候,別說什麼核動力及航空母艦,10倍超音速隱形戰機,甚至星際飛行也都是指日可待。
8.18 13848