文章目錄
- 1、inherit global site-packages
- 2、setGeometry(10,20,30,40)
- `setGeometry(x, y, width, height)`
- 1. **`x`參數**
- 2. **`y`參數**
- 3. **`width`參數**
- 4. **`height`參數**
- 示例說明
- 與其他方法的對比
- 注意事項
- 示例代碼
1、inherit global site-packages
在pycharm 創建項目時,有個勾選框,這個選項可以讓新建的項目繼承全局的Python包。如果你勾選了這個選項,新建的項目將能夠使用全局環境中已安裝的包。inherit 繼承;
?Create a virtual environment?:這個選項將為新建的項目創建一個虛擬環境,這個環境和全局環境相互獨立,可以單獨安裝和管理Python包。使用虛擬環境可以避免不同項目之間Python包的沖突,并且方便升級和管理包?
2、setGeometry(10,20,30,40)
在PyQt中,setGeometry()
方法用于設置窗口或控件的位置和大小。它接受四個參數,分別對應不同的坐標和尺寸值。下面詳細解釋這些參數的含義:
setGeometry(x, y, width, height)
1. x
參數
- 含義:控件左上角的水平坐標(相對于父窗口或屏幕)。
- 單位:像素(px)。
- 示例:
x=10
表示控件左上角距離父窗口左側邊緣10像素。- 如果控件是頂級窗口(無父窗口),則相對于屏幕左上角。
2. y
參數
- 含義:控件左上角的垂直坐標(相對于父窗口或屏幕)。
- 單位:像素(px)。
- 示例:
y=20
表示控件左上角距離父窗口頂部邊緣20像素。
3. width
參數
- 含義:控件的寬度。
- 單位:像素(px)。
- 示例:
width=30
表示控件從左到右的寬度為30像素。
4. height
參數
- 含義:控件的高度。
- 單位:像素(px)。
- 示例:
height=40
表示控件從上到下的高度為40像素。
示例說明
以下代碼創建一個窗口,并設置其位置和大小:
window = QWidget()
window.setGeometry(10, 20, 30, 40)
-
窗口位置:
窗口左上角位于屏幕坐標(10, 20)
處(距離屏幕左側10像素,頂部20像素)。 -
窗口大小:
窗口寬度為30像素,高度為40像素。
與其他方法的對比
-
resize(width, height)
- 僅設置控件的大小,不改變位置。
- 等效于
setGeometry(x, y, width, height)
中的width
和height
參數。
-
move(x, y)
- 僅設置控件的位置,不改變大小。
- 等效于
setGeometry(x, y, width, height)
中的x
和y
參數。
-
setFixedSize(width, height)
- 設置控件的固定大小,用戶無法調整。
注意事項
-
坐標系統:
- 對于頂級窗口(無父窗口),坐標相對于屏幕。
- 對于子控件,坐標相對于父窗口的內部區域(不包括父窗口的邊框)。
-
屏幕分辨率影響:
- 像素值在不同分辨率的屏幕上顯示效果可能不同。
- 若需要適配多種屏幕,建議使用布局管理器(如
QVBoxLayout
)而非硬編碼坐標。
-
與
setGeometry()
類似的方法:setGeometry()
是QWidget
的方法,適用于所有控件。QMainWindow
還提供setCentralWidget()
和statusBar()
等特殊布局方法。
示例代碼
下面的代碼演示了 setGeometry()
的用法:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabelapp = QApplication(sys.argv)# 創建主窗口
window = QWidget()
window.setWindowTitle("Geometry Example")
window.setGeometry(100, 100, 400, 300) # 窗口位置和大小# 在窗口內創建一個標簽
label = QLabel("Hello, PyQt!", window)
label.setGeometry(50, 50, 200, 30) # 標簽位置和大小window.show()
sys.exit(app.exec_())
這個示例中:
- 主窗口位于屏幕
(100, 100)
處,寬400像素,高300像素。 - 標簽位于窗口內部
(50, 50)
處,寬200像素,高30像素。
通過 setGeometry()
,你可以精確控制控件的位置和大小,但在復雜界面中建議優先使用布局管理器以獲得更好的自適應效果。