大理缘:朋友爱与创业奋斗记
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
- 連載669 章
長白王爺
窮鄉僻壤的深山中,突然出現一座鋼鐵長城。這裏不僅美女如雲,守衛的兵器連皇帝都沒見過。只因你穿越成了大前的九皇子。怕死怕累的你深知,做皇帝的痛苦,哪里比得上逍遙王爺過的快樂。隨即你主動請纓,來到最為貧苦的幽州戍守邊關,並且一待就是八年。 為了不讓皇帝老爹把你調回皇家,你天天寫奏摺,表露誓死為大前戍邊的決心,順帶和老爹哭窮。不是要點鐵礦就是要點兵馬。漸漸地,你不僅將貧瘠的山村變成鋼鐵之都,城中更是人手一把諸葛連弩,就連城牆四周都架滿了神機大炮。 可當你將幽州整頓得固若金湯,準備開始享受生活時,你那皇帝老爹卻瞞著你,偷偷來到了幽州,並下定決心,這次一定要將他最懂事的兒子接回京都,好好享受。
8.46 17471 - 連載689 章
宏偉仙道
別人溜寵物,不是靈獸就是舔狗,而我卻每天溜著一柄菜刀。從門裏的人看到後都嘲笑我是精神病,殊不知我的雙眼能夠看到隱藏資訊。 這是一柄看起來平平無奇的菜刀,但很快就會誕生出靈質。它叫阮一西,表面上是你的師傅,但實際上可能是你的老婆。
8.46 11967 - 連載385 章
霸氣劍神
整天都呆在宗門後山,保持拔劍的姿勢,這一拔竟長達兩年半之久,風雨無阻。宗門裏的人都嘲笑我是個資質低劣的傻子。就連聖女秦飄飄也在今日來到我住所,直接提出咱倆之間的婚約就此作廢。 我平靜地問秦飄飄為什麼,他說我們不是同一個世界的人。我資質平庸,如果不是因為我爹留下的聲名,根本沒資格留在劍宗。而秦飄飄貴為聖女,不僅前途光明,甚至就算是這偌大的劍宗,也絕不會是他的久居之處。 秦飄飄言語之間毫不掩飾對我的不屑。但我和她青梅竹馬,從小一起長大,雖說修行天賦有別,可之前關係算融洽。 我心有所察,於是問道:“這麼急著撇清關係,看來你是有心上人了?” “是又怎樣?”秦飄飄滿不在乎地開口,“我就算要嫁,也只會嫁給無名劍神,又怎會嫁給你這種廢物?” 聞言,我挑了挑眉。兩年半以來,劍宗每每遭逢噩難,或是秦飄飄深陷困境,都有一位神秘劍修出手相助。那位劍修戴著面具,不知真容,也沒透露過身份,所以被弟子們稱作無名劍神。 但沒人知道,我正是那個無名劍神。
8.18 31858 - 完結248 章
造夢之王
是讓學生考試的時候趴下去做夢,夢到的東西越牛,得分越高,並且將做夢的過程進行全網直播。由於這是個被虛空異獸入侵的世界,人們需要在夢境中創造強大的陰靈進行戰鬥。 當我做夢把華夏地府造出來的時候,詭異的氣氛直接把觀眾嚇得瑟瑟發抖。然而,負責監考的考官卻出聲嘲諷:“什麼地府?從來沒有聽說過,只不過是虛有其表罷了。” 原來,這個世界的華夏文化出現了缺失,天庭地府這些神話代表人們並不知道。我這個穿越者,成為了華夏文化的唯一執行者。 然而此時,我卻在造夢師的覺醒儀式上出現了意外。精神潛力S級,契合度一點。見證覺醒的眾人,包括老師,也眼皮一跳。難道說他平日裏從不做夢的嗎?我奶奶睡眠品質不好時的契合度都有五六點。 夢境的契合度直接決定了造夢的難易程度,契合度越高,升級造夢等級就更輕鬆。擁有S級前置表明我的未來潛能無限,然而那寥寥無幾的契合度意味著我必須比其他人更加努力,才能達到理想的高度。
8.18 3492 - 完結226 章
凡心聖人
修煉10年,我便成了宗門最強之人。可我每天依舊裝成一個凡人生活,趕路從不禦劍打架,只會喊人。就算是遇到生命危險,我也只會尋求師姐的保護。只因穿越到仙靈大陸,我覺醒了凡人系統,每天只要像凡人一樣生活,便可以不斷變強。
8.18 7180 - 連載939 章
洛洛小劍
明明覺醒了摸劍就能無限變強的能力,卻 10 年沒摸過一把好劍,導致練了 10 年木劍。我還是個沒覺醒劍氣的雜役,如今還要被逐出劍派宗門。
8.57 54692

