最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python GUI庫圖形界面開發(fā)之PyQt5窗口控件QWidget詳細使用方法

 更新時間:2020年02月26日 15:55:34   作者:jia666666  
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5窗口控件QWidget詳細使用方法,需要的朋友可以參考下

QWidget基本介紹

基礎(chǔ)窗口控件QWidget類是所有用戶界面對象的基類,所有的窗口或者控件都直接或者間接的繼承自QWidget類。

窗口坐標系統(tǒng)

PyQt使用統(tǒng)一的坐標系統(tǒng)來定位窗口控件的位置和大小,具體如下

以屏幕左上角為原點,也就是(0, 0)點,從左向右為x軸正方向,從上向下為y軸正方向,整個屏幕的坐標系統(tǒng)用來定位頂層窗口。

在窗口內(nèi)部也有自己的坐標系統(tǒng),該坐標系統(tǒng)以客戶區(qū)的左上角為原點,從左向右為x軸正方向,從上到下為y軸正方向,在客戶區(qū)周圍有標題欄和邊框。

從上圖中,可以將這些成員函數(shù)分成三類:

  1. QWidget直接提供的成員函數(shù),x(), y()獲得整個窗口左上角的坐標,width()和height()返回客戶區(qū)的寬度和高度。
  2. QWidget的geometry()提供的成員函數(shù),x(),y()返回的是客戶區(qū)左上角坐標,width(),height()返回客戶區(qū)寬度和高度。
  3. QWidget的frameGeometry()提供的成員函數(shù),x(),y()返回的是整個窗口左上角的坐標,-width(),height()也是整個對話框的寬度和高度,包括標題欄和邊框。

從上圖可以看出來,QWidget有兩種常見的幾何結(jié)構(gòu)

不包含外面各種邊框的幾何結(jié)構(gòu)(客戶區(qū))。

包含各種邊框的幾何結(jié)構(gòu)。

不包含邊框常用函數(shù)

改變客戶區(qū)面積

QWidget.resize(width, height)

獲取客戶區(qū)大小

QWidget.size()

獲取客戶區(qū)的寬度和高度

QWidget.width()

QWidget.height()

設(shè)置客戶區(qū)的寬度和高度(在某些維度上值不可改變)

QWidget.setFixedWidth(int width)

QWidget.setFixedHeight(int height)

QWidget.setFixedSize(int width, int height)

設(shè)置窗口的位置(值可以改變)

QWidget.setGeometry(int x, int y, int width, int height)

包含邊框常用函數(shù)

獲取窗口的大小和位置

QWidget.frameGeometry()

設(shè)置窗口的位置

QWidget.move(int x, int y)

獲取窗口左上角坐標

QWidget.pos()

屏幕坐標系統(tǒng)實例

from PyQt5.QtWidgets import QApplication,QMainWindow,QWidget,QPushButton
import sys

app=QApplication(sys.argv)
#窗口
widget=QWidget()
#按鈕繼承在窗口中,并實例化
btn=QPushButton(widget)
#按鈕命名
btn.setText('button')

#以QWdiget左上角為(0,0)點,按鈕移動到坐標處
btn.move(20,20)
#不同的操作系統(tǒng)可能對窗口的最小寬度有規(guī)定,若設(shè)置寬度小于規(guī)定值,則會以規(guī)定值進行顯示
widget.resize(300,200)
#以屏幕左上角為(0,0)的點,窗口移動到指定坐標處
widget.move(250,200)


widget.setWindowTitle('pyqt坐標系統(tǒng)例子')
widget.show()

#輸出窗口的rect(x,y,width,height)
print('QWidget:')
#x,y獲取窗口左上角的坐標
print('w.x()=%d' %widget.x())
print('w.y()=%d' %widget.y())
#width,height獲取客戶區(qū)的寬度與高度
print('w.width()=%d' %widget.width())
print('w.height()=%d' %widget.height())
#客戶區(qū)的大小
print('客戶區(qū)的大小:%d' %widget.size())


print('QWidget.geometry')
#x,y獲取客戶區(qū)的左上角坐標(包含窗口的標題與邊框部分)
print('widget.geometry().x()=%d' %widget.geometry().x())
print('widget.geometry().y()=%d' %widget.geometry().y())
#width,height獲取客戶區(qū)的寬度與高度
print('widget.geometry().width()=%d' %widget.geometry().width())
print('widget.geometry().height()=%d' %widget.geometry().height())



sys.exit(app.exec_())

效果如下圖:輸出客戶區(qū)的相關(guān)屬性

設(shè)置程序圖標實例

import sys
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QWidget,QApplication


#創(chuàng)造一個名為Icon的窗口類,繼承自Qwidget
class Icon(QWidget):
  def __init__(self,parent=None):
    super(Icon, self).__init__(parent)
    self.initUI()
  #初始化窗口
  def initUI(self):
    #設(shè)置窗口在屏幕中的位置與窗口的大小
    self.setGeometry(300,300,250,150)
    self.setWindowTitle('程序圖標')
    #設(shè)置窗口圖標,需要提供圖標的路徑
    self.setWindowIcon(QIcon('E:\pyqt5快速開發(fā)與實戰(zhàn)\第四章\images\cartoon1.ico'))
if __name__ == '__main__':
  app=QApplication(sys.argv)
  icon=Icon()
  icon.show()
  sys.exit(app.exec_())

效果如下:實現(xiàn)了程序左上角圖標的加載

顯示氣泡提示信息實例

import sys
from PyQt5.QtGui import QFont
from PyQt5.QtWidgets import QWidget,QApplication,QToolTip

class WinForm(QWidget):
  def __init__(self,parent=None):
    super(WinForm, self).__init__(parent)
    self.initUI()

  def initUI(self):
    #設(shè)置氣泡提示信息的字體和大小
    QToolTip.setFont(QFont('SansSerif',10))
    #設(shè)置氣泡提示
    self.setToolTip('這是一個</b>氣泡顯示</b>')
    self.setGeometry(200,300,400,400)
    self.setWindowTitle('氣泡提示demo')
if __name__ == '__main__':
  app=QApplication(sys.argv)
  win=WinForm()
  win.show()
  sys.exit(app.exec_())

本文詳細介紹了PyQt5窗口控件QWidget詳細使用方法,要了解更多關(guān)于這方面的知識請查看下面的相關(guān)鏈接

相關(guān)文章

  • Python調(diào)用JavaScript代碼的幾種方法小結(jié)

    Python調(diào)用JavaScript代碼的幾種方法小結(jié)

    日常Web端爬蟲過程中,經(jīng)常會遇到參數(shù)被加密的場景,因此,我們需要分析網(wǎng)頁源代碼通過調(diào)式,一層層剝離出關(guān)鍵的JS代碼,使用Python去執(zhí)行這段代碼,本文將聊聊利用 Python 調(diào)用 JS 的4種方式,需要的朋友可以參考下
    2024-12-12
  • 用Python寫一個無界面的2048小游戲

    用Python寫一個無界面的2048小游戲

    這篇文章主要介紹了用Python寫一個無界面的2048小游戲的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • Python中的POST請求參數(shù)詳解

    Python中的POST請求參數(shù)詳解

    這篇文章主要介紹了Python中的POST請求參數(shù)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • python 如何通過執(zhí)行腳本安裝庫或卸載庫

    python 如何通過執(zhí)行腳本安裝庫或卸載庫

    通過執(zhí)行Python腳本,用戶可以輕松地安裝或卸載所需的庫,本文介紹了該過程的具體步驟,包括如何編寫用于安裝或卸載庫的腳本,無論是需要添加新功能還是清理環(huán)境,通過這種方式,開發(fā)者都能有效管理其工作環(huán)境中的庫
    2024-11-11
  • 從入門到精通:玩轉(zhuǎn)Python?Fire庫

    從入門到精通:玩轉(zhuǎn)Python?Fire庫

    想快速打造屬于你的Python?GUI應(yīng)用嗎?拋開復(fù)雜的代碼,用Python?Fire庫就能輕松實現(xiàn)!本指南將引領(lǐng)你從零起步,駕馭Python?Fire的強大功能,讓編程既簡單又高效,準備好了嗎?讓我們開始玩轉(zhuǎn)Python?Fire,開啟你的編程冒險吧!
    2024-02-02
  • pycharm代碼刪除恢復(fù)的方法

    pycharm代碼刪除恢復(fù)的方法

    pycharm是一個很強大的編輯工具,很多朋友在使用過程中容易產(chǎn)生誤操作,那么一不小心刪除了,怎么恢復(fù)呢,今天就給大家介紹pycharm代碼刪除恢復(fù)教程,需要的朋友參考下吧
    2021-06-06
  • Python中元組的概念及應(yīng)用小結(jié)

    Python中元組的概念及應(yīng)用小結(jié)

    Python中的元組和列表很相似,元組也是Python語言提供的內(nèi)置數(shù)據(jù)結(jié)構(gòu)之一,可以在代碼中直接使用,這篇文章主要介紹了Python中元組的概念以及應(yīng)用,需要的朋友可以參考下
    2023-01-01
  • Python獲取暗黑破壞神3戰(zhàn)網(wǎng)前1000命位玩家的英雄技能統(tǒng)計

    Python獲取暗黑破壞神3戰(zhàn)網(wǎng)前1000命位玩家的英雄技能統(tǒng)計

    這篇文章主要介紹了Python獲取暗黑3戰(zhàn)網(wǎng)前1000命位玩家的英雄技能統(tǒng)計的方法,借助urllib2模塊以類似爬蟲的機制來實現(xiàn),需要的朋友可以參考下
    2016-07-07
  • tornado 多進程模式解析

    tornado 多進程模式解析

    這篇文章主要介紹了tornado 多進程模式解析,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Django中使用MySQL5.5的教程

    Django中使用MySQL5.5的教程

    這篇文章主要介紹了Django中使用MySQL5.5的教程,本文圖文實例詳解的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12

最新評論

保靖县| 洞口县| 渑池县| 启东市| 乌兰县| 溧水县| 久治县| 韶关市| 玉山县| 佛山市| 福安市| 石屏县| 宜宾市| 墨竹工卡县| 浦城县| 尤溪县| 泰来县| 汝南县| 吉木萨尔县| 郴州市| 金门县| 安阳市| 涪陵区| 东丽区| 依兰县| 惠州市| 郑州市| 永平县| 迁西县| 淮北市| 乐昌市| 定远县| 高雄市| 麦盖提县| 定襄县| 商丘市| 大关县| 都昌县| 淳安县| 陇西县| 和田市|