大理缘:朋友爱与创业奋斗记
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
- 連載84 章
心碎勇士
洞房花燭夜,將找你求婚的妻子趙雨軒打到尿失禁,更是將前來勸阻的丈母娘打得找不到。老丈人趙德發則是躲到床下不敢出聲。 只因前世,就在結婚的當晚,你的妹妹遭人玷污被折磨致死,父母因為房屋起火葬身火海。直到20年後,你身中劇毒,被趙雨軒和姦夫連捅。即將斷氣的時候,趙雨軒親口承認那些喪盡天良的事情都是他安排人做的。 好在蒼天有眼,讓含冤而死的你回到了20年前,回到與趙雨軒的洞房花燭之夜。讓你有時間去救你的父母和妹妹,也給了你一個報仇雪恨的機會。
8.18 3931 - 連載155 章
勇敢勇士
你本是個學霸,卻無緣參加高考。只因你的家人太奇葩,臨近高考居然報警把你抓進去判刑,就因為一臺手機和一條手鏈。你那親姐姐甚至還叫囂著要給你判重刑。 現在你走出了看守所,眼睛裏滿是瘋狂的怒火。你在路邊找到一塊趁手的磚頭,斷人前途如毀人一生,張家我要你們全部人血債血償。你陰沉著臉,朝著張家的方向走去。 上一世,張家先是毀了你的高考,然後又逼迫你做人質,換回被綁匪綁架的張浩。即使綁匪當著他們張家人的面,一根又一根地切掉你的手指和肉,他們也無動於衷,並且還當著你的面跟劫匪說,他們只有張浩這麼一個人,你的生死與他們無關。被親生父母如此對待,真的比殺人誅心還讓你憤怒。
8.18 7820 - 連載905 章
紅棺美人
爺爺為了證明自己老當益壯,竟獨自去深山挖回一株肉靈芝,養在柴房裏,並且每晚都會進入柴房,一待就是三分鐘。直到有一天我起來上廁所,終於發現了爺爺的罪惡行徑。就在我轉身要去跟我媽告狀時,爺爺忽然抓住了我,並把我帶到了村頭的墳地。他指著面前的棺材,非要讓我在裏面選一個做媳婦。
8.33 10477 - 連載259 章
正統劍神
為了證明一件便可破萬法,我每天都不吃不喝,在宗門內揮劍練習,直到這天,宗門發生了毀天滅地的大戰。我無意間進入了一道裂縫之中,來到了一個未知世界。這個世界充滿了各種兇險,還有無數強者。 終於在萬年後的今日,我經歷了無數次的生死廝殺及苦修後,以手中之劍展開了一道虛空裂縫,回到了青峰山之巔。虛空中,我低聲喃喃道:“我回來了,大乘中期。”
8.18 3915 - 連載1517 章
影門大神
一個北影畢業的大學生,被導演讓演貪官,你一口面一口酸,那正義凜然的樣子讓觀眾們集體發聲,說你是被冤枉的。當導演讓你演太監時,你直接捏著蘭花指,大喊道:“我就是要一步一步做到最高!”頓時讓無數在底層拼搏的少年找到了心中的信念。
8.33 43228 - 完結417 章
逆天獄卒
燕大師姐為了證明她姿色動人,竟在半夜強行闖入我房中。不僅榨幹我的全部修為,還將我丟進了天牢。可我一點也不慌,只因我覺醒了最強職業系統,並解鎖了獄族職業,還獲得專屬技能 “鞭屍”。鞭撻獄族看門狗,獲得舔狗聖體;鞭撻冰心骨聖女,獲得冰皇血脈;鞭撻妖族九尾狐,獲得九尾通天術。
8.18 5638