好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > PyQt 如何創建自定義QWidget

PyQt 如何創建自定義QWidget

熱門標簽:n400電話申請多少錢 廈門crm外呼系統如何 女王谷地圖標注 百應ai電銷機器人鄭州 ai地圖標注 長春人工智能電銷機器人官網 地圖標注推廣單頁 西藏快速地圖標注地點 如何在地圖標注文字

開發環境

Win7  PyCharm  Python3.5.1  PyQt5

主要文件:

|-- main.py
|-- res
| `-- fish.jpg
`-- ui
 `-- app_widget.py

main.py

import sys

from PyQt5.QtWidgets import QApplication

from ui.app_widget import AppQWidget

if __name__ == '__main__':
 app = QApplication(sys.argv)
 w = AppQWidget()
 w.show()

 sys.exit(app.exec_())

app_main_window.py

自定義了一個居中顯示的窗口,關閉時彈確認框

from PyQt5.QtCore import QCoreApplication
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QWidget, QPushButton, QDesktopWidget, QMessageBox


class AppQWidget(QWidget):
 """
 A custom QWidget by Rust Fisher
 """

 def __init__(self):
  super().__init__()
  self.init_ui()

 def init_ui(self):
  # self.setGeometry(300, 300, 400, 200) # 相當于move和resize
  self.resize(300, 200)
  self.move_to_center()
  self.setWindowTitle('Demo1')
  self.setWindowIcon(QIcon('res/fish.jpg'))

  btn1 = QPushButton('Quit', self)
  btn1.setToolTip('Click to quit')
  btn1.resize(btn1.sizeHint())
  btn1.move(200, 150)
  btn1.clicked.connect(QCoreApplication.instance().quit) # cannot locate function connect

 def closeEvent(self, event):
  reply = QMessageBox.question(self, 'Message',
          'Are you sure to quit now?',
          QMessageBox.Yes | QMessageBox.No,
          QMessageBox.No)
  if reply == QMessageBox.Yes:
   event.accept()
  else:
   event.ignore()

 def move_to_center(self):
  qr = self.frameGeometry()
  cp = QDesktopWidget().availableGeometry().center() # got center info here
  qr.moveCenter(cp)
  self.move(qr.topLeft()) # 應用窗口的左上方的點到qr矩形的左上方的點,因此居中顯示在我們的屏幕上

Tips

多控件可以存在list中

存在一起,需要對整體操作時直接遍歷列表

 # 同組的控件可以存在同一個list中
 self.cb_list = [
  self.ma.i2cCB,
  self.ma.mipiCB,
  self.ma.eepromCB,
  self.ma.tem_sensorCB,
  self.ma.lensCB,
  self.ma.vcmCB,
  self.ma.mirrorCB,
  self.ma.mirrorCaliCB, ]

 self.test_count_et_list = [
  self.ma.i2cCountEt,
  self.ma.mipiCountEt,
  self.ma.eepromCountEt,
  self.ma.tem_sensorCountEt,
  self.ma.lensCountEt,
  self.ma.vcmCountEt,
  self.ma.mirrorCountEt,
  self.ma.mirrorCaliCountEt,
 ]

# 需要操作某組控件時 直接遍歷列表
def _click_test_item_cb(self):
 """ Update [choose all checkbox] by all test item state """
 choose_all = True
 for cb in self.cb_list:
  choose_all = choose_all  cb.isChecked()
 self.ma.selecteAllCB.setChecked(choose_all)

QApplication與QWidget

QApplication是一個單例,在QWidget中可以通過QApplication.instance()獲取到對象

實際上在實例化QApplication前就使用QtGui.QWidget()是會報錯的

>>> QtGui.QWidget()
QWidget: Must construct a QApplication before a QPaintDevice

參考 How QApplication() and QWidget() objects are connected in PySide/PyQt?

在我們自定義的QMainWindow中,也可以直接獲取到QApplication的實例。

class RustMainWindow(QMainWindow):
 """ This is the main class """

 def _trigger_english(self):
  print "Change to English", QApplication.instance()

# Change to English PyQt4.QtGui.QApplication object at 0x02ABE3A0>

注意widget持有外部對象引用的問題

如果在程序啟動的地方將引用交給widget,退出時會造成應用無法關閉的問題(類似內存泄漏)。

if __name__ == '__main__':
 app = QApplication(sys.argv)
 # 這里把app交給了MainWindow,MainWindow關閉時是無法正常退出應用的
 main_d = RustMainWindow(app) # 不建議這么做
 main_d.show()
 sys.exit(app.exec_())

以上就是PyQt 如何創建自定義QWidget的詳細內容,更多關于PyQt 創建自定義QWidget的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • python GUI庫圖形界面開發之PyQt5窗口控件QWidget詳細使用方法
  • python GUI庫圖形界面開發之PyQt5中QMainWindow, QWidget以及QDialog的區別和選擇
  • Python PyQt5-圖形界面的美化操作
  • python中pyqtgraph知識點總結
  • 詳解Python GUI編程之PyQt5入門到實戰
  • 詳解Python3.8+PyQt5+pyqt5-tools+Pycharm配置詳細教程
  • Python3.7安裝PyQt5 運行配置Pycharm的詳細教程
  • Python 使用 PyQt5 開發的關機小工具分享
  • Python+PyQt5+MySQL實現天氣管理系統
  • python3.6.8 + pycharm + PyQt5 環境搭建的圖文教程

標簽:拉薩 黔東 內江 廊坊 亳州 渭南 綿陽 興安盟

巨人網絡通訊聲明:本文標題《PyQt 如何創建自定義QWidget》,本文關鍵詞  PyQt,如何,創建,自定義,QWidget,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PyQt 如何創建自定義QWidget》相關的同類信息!
  • 本頁收集關于PyQt 如何創建自定義QWidget的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 午夜成人精品久久久久久久| 搞麻屁| 老师扒开双腿狂躁到爽流水软件 | 国产午夜福利精品久久不卡完整版bd高清 | 高h道具play| 论渣男改造的一千种姿势| 顶级尤物娇喘浪吟h| 午夜精品一区二区在线观看的| 日本大尺度男男无删减电影| 超h高h污肉校| 肥胖妇女BBWBBW| 野外一男一女一级毛片| 日本高清www在线观看视频| 潘甜甜的七夕1080p| 男生和女生一起差差差得很痛的| 女人被扒开下面?男人狂涌| 久久综合狠狠综合久久激情| 在学校被男生扒衣吸乳| 免费的黄漫?18禁动漫app| 91精品成人网站爱Y爱丫| 最新天堂在线| 日本一区二区三区不卡在线看| 一女多男两根同时进去动态图片| 因腰部旋转而全身湿透电影| 野外毛多少妇大战A片| 慈禧级淫片a级中文在线| 欧美日韩亚洲无线码在线观看| 国产高清成人吃奶成免费视频| 一级做a爰片久久毛多水多| 欧美一级情欲片在线| 韩国继母| 久久精品无码人妻A级毛片玉甫团| 国产精品??久久久精品软件下载 | 久久99久久精品国产99热| 欧美肥婆性猛交XXⅩOOO| 国产传媒三级AV精品电影| 女警察一级毛片| 男舔女视频| 双性花蒂抹药带环h| 欧美free性XXXX护士HD| 成年人在线观看免费|