婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > PyQt 如何創(chuàng)建自定義QWidget

PyQt 如何創(chuàng)建自定義QWidget

熱門標(biāo)簽:n400電話申請(qǐng)多少錢 廈門crm外呼系統(tǒng)如何 女王谷地圖標(biāo)注 百應(yīng)ai電銷機(jī)器人鄭州 ai地圖標(biāo)注 長春人工智能電銷機(jī)器人官網(wǎng) 地圖標(biāo)注推廣單頁 西藏快速地圖標(biāo)注地點(diǎn) 如何在地圖標(biāo)注文字

開發(fā)環(huán)境

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

自定義了一個(gè)居中顯示的窗口,關(guān)閉時(shí)彈確認(rèn)框

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) # 相當(dāng)于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()) # 應(yīng)用窗口的左上方的點(diǎn)到qr矩形的左上方的點(diǎn),因此居中顯示在我們的屏幕上

Tips

多控件可以存在list中

存在一起,需要對(duì)整體操作時(shí)直接遍歷列表

 # 同組的控件可以存在同一個(gè)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,
 ]

# 需要操作某組控件時(shí) 直接遍歷列表
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是一個(gè)單例,在QWidget中可以通過QApplication.instance()獲取到對(duì)象

實(shí)際上在實(shí)例化QApplication前就使用QtGui.QWidget()是會(huì)報(bào)錯(cuò)的

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

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

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

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持有外部對(duì)象引用的問題

如果在程序啟動(dòng)的地方將引用交給widget,退出時(shí)會(huì)造成應(yīng)用無法關(guān)閉的問題(類似內(nèi)存泄漏)。

if __name__ == '__main__':
 app = QApplication(sys.argv)
 # 這里把a(bǔ)pp交給了MainWindow,MainWindow關(guān)閉時(shí)是無法正常退出應(yīng)用的
 main_d = RustMainWindow(app) # 不建議這么做
 main_d.show()
 sys.exit(app.exec_())

以上就是PyQt 如何創(chuàng)建自定義QWidget的詳細(xì)內(nèi)容,更多關(guān)于PyQt 創(chuàng)建自定義QWidget的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • python GUI庫圖形界面開發(fā)之PyQt5窗口控件QWidget詳細(xì)使用方法
  • python GUI庫圖形界面開發(fā)之PyQt5中QMainWindow, QWidget以及QDialog的區(qū)別和選擇
  • Python PyQt5-圖形界面的美化操作
  • python中pyqtgraph知識(shí)點(diǎn)總結(jié)
  • 詳解Python GUI編程之PyQt5入門到實(shí)戰(zhàn)
  • 詳解Python3.8+PyQt5+pyqt5-tools+Pycharm配置詳細(xì)教程
  • Python3.7安裝PyQt5 運(yùn)行配置Pycharm的詳細(xì)教程
  • Python 使用 PyQt5 開發(fā)的關(guān)機(jī)小工具分享
  • Python+PyQt5+MySQL實(shí)現(xiàn)天氣管理系統(tǒng)
  • python3.6.8 + pycharm + PyQt5 環(huán)境搭建的圖文教程

標(biāo)簽:拉薩 黔東 內(nèi)江 廊坊 亳州 渭南 綿陽 興安盟

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PyQt 如何創(chuàng)建自定義QWidget》,本文關(guān)鍵詞  PyQt,如何,創(chuàng)建,自定義,QWidget,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PyQt 如何創(chuàng)建自定義QWidget》相關(guān)的同類信息!
  • 本頁收集關(guān)于PyQt 如何創(chuàng)建自定義QWidget的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    一区二区三区中文在线观看| 久久超级碰视频| 日韩综合一区二区| 成人av资源站| 精品久久人人做人人爱| 一区二区三区毛片| 成人av综合一区| 精品国产乱码久久久久久图片| 一区二区在线电影| 成人av在线资源网站| 久久久亚洲欧洲日产国码αv| 亚洲自拍另类综合| 91视频免费看| 国产精品久久综合| 国产成人精品1024| 精品国产一区二区国模嫣然| 婷婷成人激情在线网| 日本久久电影网| 国产精品成人免费| 成人av在线播放网址| 国产欧美一区二区三区在线看蜜臀 | 一区二区三区在线视频观看| 国产综合色视频| 精品国产一区二区三区av性色| 日韩高清不卡在线| 欧美日韩成人在线| 亚洲国产成人porn| 欧美日韩精品免费观看视频| 亚洲大片精品永久免费| 欧美图片一区二区三区| 亚洲一区欧美一区| 欧美日韩国产免费一区二区| 亚洲成a人片在线不卡一二三区| 在线观看一区日韩| 亚洲高清免费在线| 69堂国产成人免费视频| 日本亚洲天堂网| 日韩欧美在线1卡| 精品一区二区三区久久久| 精品国一区二区三区| 国产精一区二区三区| 中文字幕精品一区二区精品绿巨人| 国产精品一卡二卡| 国产精品乱码一区二区三区软件 | proumb性欧美在线观看| 国产精品久线在线观看| 99久久久国产精品免费蜜臀| 亚洲激情自拍偷拍| 3d动漫精品啪啪| 国内精品伊人久久久久av一坑| 国产日韩欧美亚洲| 91日韩精品一区| 偷拍与自拍一区| 精品国产第一区二区三区观看体验| 国产永久精品大片wwwapp| 国产精品福利一区二区三区| 欧美日韩免费视频| 美女mm1313爽爽久久久蜜臀| 国产色综合久久| 91浏览器在线视频| 免费在线观看一区| 中文字幕第一区二区| 欧美日韩一级二级| 韩国v欧美v日本v亚洲v| 一色桃子久久精品亚洲| 91精品国产麻豆| 波多野结衣在线aⅴ中文字幕不卡| 亚洲小少妇裸体bbw| 精品动漫一区二区三区在线观看| 99久久国产综合精品麻豆| 亚洲成av人综合在线观看| 国产午夜精品久久| 欧美日韩国产在线观看| 国产一区二区中文字幕| 亚洲不卡av一区二区三区| 国产欧美一区二区精品性色 | 国产日韩欧美一区二区三区综合| 色综合天天综合色综合av | 91精品91久久久中77777| 日韩高清不卡在线| 亚洲欧美成人一区二区三区| 久久在线免费观看| 欧美日韩中文国产| 成人黄色电影在线| 久久91精品国产91久久小草 | 风间由美一区二区av101| 亚洲国产精品久久一线不卡| 国产精品激情偷乱一区二区∴| 日韩亚洲欧美成人一区| 欧美性一级生活| 国产高清视频一区| 精品午夜久久福利影院 | 国产91对白在线观看九色| 日韩电影在线免费| 亚洲黄色免费电影| 亚洲桃色在线一区| 国产欧美日韩精品一区| www激情久久| 日韩欧美在线网站| 91精品国产日韩91久久久久久| 色综合天天视频在线观看| 国产成人一级电影| 国产精品一区久久久久| 寂寞少妇一区二区三区| 美女精品一区二区| 日韩精品电影在线观看| 天堂久久一区二区三区| 亚洲444eee在线观看| 一区二区三区免费看视频| 一区二区在线观看免费| 一区二区三区高清| 亚洲国产欧美在线| 五月天久久比比资源色| 亚洲高清免费一级二级三级| 亚洲超碰精品一区二区| 日韩av网站免费在线| 视频一区视频二区在线观看| 偷偷要91色婷婷| 麻豆免费看一区二区三区| 久久国产成人午夜av影院| 九九九久久久精品| 韩国av一区二区三区在线观看| 国产剧情一区二区三区| av网站一区二区三区| 在线免费一区三区| 制服丝袜中文字幕一区| 欧美精品一区二区在线观看| 欧美韩国日本一区| 亚洲男女毛片无遮挡| 丝袜亚洲另类欧美综合| 精品一区二区三区免费| av电影天堂一区二区在线| 欧美亚洲日本国产| 日韩三级视频在线看| 国产欧美日韩精品a在线观看| 中文字幕制服丝袜成人av| 亚洲一区免费在线观看| 免费日韩伦理电影| 国产精品自在在线| 91国在线观看| 日韩免费福利电影在线观看| 国产精品免费看片| 日韩精品亚洲一区| 国产成人免费av在线| 欧美性大战久久久久久久| 精品成人私密视频| 自拍偷拍国产精品| 蜜乳av一区二区三区| 91猫先生在线| 欧美一区二区黄色| 国产精品九色蝌蚪自拍| 日本欧美在线观看| 成人h动漫精品一区二区| 337p亚洲精品色噜噜| 中文字幕中文字幕一区| 蜜臀av亚洲一区中文字幕| 91在线看国产| 2023国产精品| 亚洲1区2区3区视频| 成人av网站在线观看免费| 日韩三级免费观看| 亚洲欧美日韩国产中文在线| 国产很黄免费观看久久| 91精品国产综合久久久久久久 | 亚洲婷婷综合久久一本伊一区| 久久精品免费看| 色综合天天综合色综合av | 日本高清不卡视频| 久久伊人中文字幕| 天堂影院一区二区| 在线视频国产一区| 亚洲欧洲成人精品av97| 韩国欧美一区二区| 欧美二区三区的天堂| 亚洲在线免费播放| 福利一区二区在线| 精品国产乱码久久久久久免费 | 亚洲成人黄色小说| 99精品久久免费看蜜臀剧情介绍| 久久天堂av综合合色蜜桃网| 男男视频亚洲欧美| 在线播放视频一区| 亚洲国产sm捆绑调教视频| 99v久久综合狠狠综合久久| 国产人久久人人人人爽| 九色|91porny| 久久综合九色综合欧美就去吻| 免费在线成人网| 日韩一区二区三区四区| 无吗不卡中文字幕| 欧美电影一区二区三区| 日韩**一区毛片| 7777精品伊人久久久大香线蕉| 天堂一区二区在线| 91精品久久久久久久99蜜桃| 日韩主播视频在线| 欧美一区二区三区视频在线观看| 日韩精品一二三四| 欧美一区二区观看视频| 狠狠色丁香九九婷婷综合五月|