欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

PyQt5之如何實(shí)現(xiàn)彈出窗口-創(chuàng)新互聯(lián)

這篇文章主要介紹了PyQt5之如何實(shí)現(xiàn)彈出窗口,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

成都創(chuàng)新互聯(lián)公司專注于甘谷企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),成都商城網(wǎng)站開發(fā)。甘谷網(wǎng)站建設(shè)公司,為甘谷等地區(qū)提供建站服務(wù)。全流程按需求定制開發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)

本文基于 windows 7 + python 3.4

效果圖:

PyQt5之如何實(shí)現(xiàn)彈出窗口

PyQt5之如何實(shí)現(xiàn)彈出窗口

取得彈出窗口的返回值

PyQt5之如何實(shí)現(xiàn)彈出窗口

全部代碼:

from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt, pyqtSignal, QTimer


    
class MyWindow(QWidget): 

  def __init__(self):

    super().__init__()
    
    self.setWindowTitle('PyQt5 彈出窗口(框)大全')
    self.resize(400, 300)
    
    # 全局布局(注意參數(shù) self)
    wl = QVBoxLayout(self)

    # 局部布局
    h2 = QHBoxLayout() # 輸入框
    h3 = QHBoxLayout() # 消息窗口
    h4 = QHBoxLayout() # 文件(夾)打開,保存
    h5 = QHBoxLayout() # 顏色、字體、自定義

    
    btn11 = QPushButton('輸入:整數(shù)')
    btn12 = QPushButton('輸入:小數(shù)')
    btn13 = QPushButton('輸入:文本')
    btn14 = QPushButton('輸入:多文')
    btn15 = QPushButton('輸入:選項(xiàng)')
    
    btn21 = QPushButton('消息:信息')
    btn22 = QPushButton('消息:?jiǎn)柎?#39;)
    btn23 = QPushButton('消息:警告')
    btn24 = QPushButton('消息:危險(xiǎn)')
    btn25 = QPushButton('消息:關(guān)于')
    
    btn31 = QPushButton('文件:文件夾')
    btn32 = QPushButton('文件:?jiǎn)挝募?#39;)
    btn33 = QPushButton('文件:多文件')
    btn34 = QPushButton('文件:保存')
    btn35 = QPushButton('文件:另存為')

    btn41 = QPushButton('顏色')
    btn42 = QPushButton('字體')
    btn43 = QPushButton('自定義')
    
    for btn in (btn11, btn12, btn13, btn14, btn15):
      h2.addWidget(btn)
      
    for btn in (btn21, btn22, btn23, btn24, btn25):
      h3.addWidget(btn)
      
    for btn in (btn31, btn32, btn33, btn34, btn35):
      h4.addWidget(btn)
      
    for btn in (btn41, btn42, btn43):
      h5.addWidget(btn)
      
    btn11.clicked.connect(self.do_btn11) # 輸入:整數(shù)
    btn12.clicked.connect(self.do_btn12) # 輸入:小數(shù)
    btn13.clicked.connect(self.do_btn13) # 輸入:文本
    btn14.clicked.connect(self.do_btn14) # 輸入:多文
    btn15.clicked.connect(self.do_btn15) # 輸入:選項(xiàng)
    
    btn21.clicked.connect(self.do_btn21) # 消息:信息
    btn22.clicked.connect(self.do_btn22) # 消息:?jiǎn)柎?    btn23.clicked.connect(self.do_btn23) # 消息:警告
    btn24.clicked.connect(self.do_btn24) # 消息:危險(xiǎn)
    btn25.clicked.connect(self.do_btn25) # 消息:關(guān)于
    
    btn31.clicked.connect(self.do_btn31) # 文件:文件夾
    btn32.clicked.connect(self.do_btn32) # 文件:?jiǎn)挝募?    btn33.clicked.connect(self.do_btn33) # 文件:多文件
    btn34.clicked.connect(self.do_btn34) # 文件:保存
    btn35.clicked.connect(self.do_btn35) # 文件:另存為

    btn41.clicked.connect(self.do_btn41) # 顏色
    btn42.clicked.connect(self.do_btn42) # 字體
    btn43.clicked.connect(self.do_btn43) # 自定義

    # 加到全局布局
    wl.addLayout(h2) 
    wl.addLayout(h3)
    wl.addLayout(h4)
    wl.addLayout(h5)
    
    self.window2 = MyWindow2()             # 自定義窗口
    self.window2.before_close_signal.connect(self.echo) # 接收自定義窗口關(guān)閉時(shí)發(fā)送過(guò)來(lái)的信號(hào),交給 echo 函數(shù)顯示
    

  def echo(self, value):
    '''顯示對(duì)話框返回值'''
    QMessageBox.information(self, "返回值",  "得到:{}\n\ntype: {}".format(value, type(value)), QMessageBox.Yes | QMessageBox.No)
    #pass
    
  # =====================================================================
  def do_btn11(self, event): # 輸入:整數(shù)
    #后面四個(gè)數(shù)字的作用依次是 初始值 最小值 大值 步幅 
    value, ok = QInputDialog.getInt(self, "輸入框標(biāo)題", "這是提示信息\n\n請(qǐng)輸入整數(shù):", 37, -10000, 10000, 2)
    #self.echo(value)
    
  def do_btn12(self, event): # 輸入:小數(shù)
    #后面四個(gè)數(shù)字的作用依次是 初始值 最小值 大值 小數(shù)點(diǎn)后位數(shù) 
    value, ok = QInputDialog.getDouble(self, "輸入框標(biāo)題", "這是提示信息\n\n請(qǐng)輸入整數(shù):", 37.56, -10000, 10000, 2)
    self.echo(value)
    
  def do_btn13(self, event): # 輸入:文本
    #第三個(gè)參數(shù)表示顯示類型,可選,有正常(QLineEdit.Normal)、密碼( QLineEdit. Password)、不顯示( QLineEdit. NoEcho)三種情況
    value, ok = QInputDialog.getText(self, "輸入框標(biāo)題", "這是提示信息\n\n請(qǐng)輸入文本:", QLineEdit.Normal, "這是默認(rèn)值")
    self.echo(value)
    
  def do_btn14(self, event): # 輸入:多文
    value, ok = QInputDialog.getMultiLineText(self, "輸入框標(biāo)題", "這是提示信息\n\n請(qǐng)輸入地址:", "默認(rèn)的\n我的地址是\n中國(guó)廣東廣州番禺") 
    self.echo(value)
    
  def do_btn15(self, event): # 輸入:選項(xiàng)
    #1為默認(rèn)選中選項(xiàng)目,True/False 列表框是否可編輯。 
    items = ["Spring", "Summer", "Fall", "Winter"] 
    value, ok = QInputDialog.getItem(self, "輸入框標(biāo)題", "這是提示信息\n\n請(qǐng)選擇季節(jié):", items, 1, True) 
    self.echo(value)
    
  # =====================================================================
  def do_btn21(self, event): # 消息:信息
    reply = QMessageBox.information(self,
                  "消息框標(biāo)題", 
                  "這是一條消息。", 
                  QMessageBox.Yes | QMessageBox.No)
    self.echo(reply)
    
  def do_btn22(self, event): # 消息:?jiǎn)柎?    reply = QMessageBox.question(self,
                  "消息框標(biāo)題", 
                  "這是一條問(wèn)答嗎?", 
                  QMessageBox.Yes | QMessageBox.No)
    self.echo(reply)
    
  def do_btn23(self, event): # 消息:警告
    reply = QMessageBox.warning(self,
                  "消息框標(biāo)題", 
                  "這是一條警告!", 
                  QMessageBox.Yes | QMessageBox.No)
    self.echo(reply)
    
  def do_btn24(self, event): # 消息:危險(xiǎn)
    reply = QMessageBox.ctitical(self,
                  "消息框標(biāo)題", 
                  "危險(xiǎn)!程序即將強(qiáng)制退出?。。n\n這個(gè)按鈕再也點(diǎn)不開。", 
                  QMessageBox.Yes | QMessageBox.No)
    self.echo(reply)
    
  def do_btn25(self, event): # 消息:關(guān)于
    reply = QMessageBox.about(self,
                  "消息框標(biāo)題", 
                  "這是關(guān)于軟件的說(shuō)明。。。", 
                  QMessageBox.Yes | QMessageBox.No)
    self.echo(reply)
    
  # =====================================================================
  def do_btn31(self, event): # 文件:文件夾
    dir = QFileDialog.getExistingDirectory(self, 
                  "選取文件夾", 
                  "C:/")         # 起始路徑
    self.echo(dir)
    
  def do_btn32(self, event): # 文件:?jiǎn)挝募?    file_, filetype = QFileDialog.getOpenFileName(self, 
                  "選取文件", 
                  "C:/", 
                  "All Files (*);;Text Files (*.txt)")  #設(shè)置文件擴(kuò)展名過(guò)濾,注意用雙分號(hào)間隔
    self.echo(file_)
    
  def do_btn33(self, event): # 文件:多文件
    files, ok = QFileDialog.getOpenFileNames(self, 
                  "多文件選擇", 
                  "C:/", 
                  "All Files (*);;Text Files (*.txt)") 
    self.echo(files)
    
  def do_btn34(self, event): # 文件:保存
    file_, ok = QFileDialog.getSaveFileName(self, 
                  "文件保存", 
                  "C:/", 
                  "All Files (*);;Text Files (*.txt)")
    self.echo(file_)
    
  def do_btn35(self, event): # 文件:另存為
    file_, ok = QFileDialog.getSaveFileName(self, 
                  "文件另存為", 
                  "C:/", 
                  "All Files (*);;Text Files (*.txt)")
    self.echo(file_)

  # =====================================================================
  def do_btn41(self, event): # 顏色
    color = QColorDialog.getColor(Qt.blue, self, "Select Color")
    self.echo(color)
    
  def do_btn42(self, event): # 字體
    font, ok = QFontDialog.getFont()
    self.echo(font)
    
  def do_btn43(self, event): # 自定義
    
    self.window2.show()
  

class MyWindow2(QWidget):
  '''自定義窗口'''
  # 知識(shí)點(diǎn):
  # 1.為了得到返回值用到了自定義的信號(hào)/槽
  # 2.為了顯示動(dòng)態(tài)數(shù)字,使用了計(jì)時(shí)器
  
  before_close_signal = pyqtSignal(int)    # 自定義信號(hào)(int類型)
  
  def __init__(self):
    super().__init__()
    
    self.sec = 0
    self.setWindowTitle('自定義窗口')
    self.resize(200,150)

    self.lcd = QLCDNumber(18, self)
    btn1 = QPushButton(self, text="測(cè)試")
    btn2 = QPushButton(self, text="關(guān)閉")

    layout = QVBoxLayout(self)
    layout.addWidget(self.lcd)
    layout.addWidget(btn1)
    layout.addWidget(btn2)
    
    self.timer = QTimer() 

    self.timer.timeout.connect(self.update) # 每次計(jì)時(shí)結(jié)束,觸發(fā)update
    btn1.clicked.connect(self.startTimer) 
    btn2.clicked.connect(self.stopTimer)  # 去到關(guān)閉前的處理
  
  def update(self):  
    self.sec += 1 
    self.lcd.display(self.sec)       # LED顯示數(shù)字+1 
   
  def startTimer(self): 
    self.timer.start(1000)         # 計(jì)時(shí)器每秒計(jì)數(shù) 

  def stopTimer(self):
    self.timer.stop()  
    self.sec = 0 
    self.before_close_signal.emit(self.lcd.value()) # 發(fā)送信號(hào),帶參數(shù) 888
    self.close()              # 然后窗口關(guān)閉

  # 默認(rèn)關(guān)閉事件 
  def closeEvent(self, e):
    self.stopTimer()

if __name__=="__main__":
  import sys
  
  app = QApplication(sys.argv)
  win = MyWindow()
  win.show()
  sys.exit(app.exec_())

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“PyQt5之如何實(shí)現(xiàn)彈出窗口”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司,關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、網(wǎng)站設(shè)計(jì)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

當(dāng)前題目:PyQt5之如何實(shí)現(xiàn)彈出窗口-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)地址:http://aaarwkj.com/article10/jscdo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、自適應(yīng)網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、品牌網(wǎng)站制作軟件開發(fā)、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)
成人国产亚洲日本欧美| 日韩精品国产亚洲欧美| 国产精品成人av在线| 亚洲欧美精品专区极品| 国产精品一级片免费看| 国产亚洲高清一区二区| 国产亚洲精品麻豆一区二区| 久久91亚洲精品中文字幕| 未满18十八禁止观看| 久久国产欧美日韩精品| 国产精品自产在线观看一| 蜜臀av在线国产一区 | 清纯美女爱爱高潮av| 草草视频在线观看网站| 精品av一区二区在线| 欧美精品一区影片在线观看| 亚洲最大五月六月丁香婷婷| 精品国产一区二区成人| 18岁禁看网站在线看| 国产高清自拍视频在线一区| 熟妇激情欧美在线播放视频| 国产三级国产精品国产专播| 国产亚洲av看码精品永久| 男女视频午夜刺激一区二区| 亚洲乱码一区二区av| 久久热精品视频这里有| 在线观看不卡的黄色地址| 中文成人无字幕乱码精品| 国产日韩综合精品一区| 欧美日韩国产另类久久| 久久五月精品综网中文字幕| 国产欧美日韩一区二区三区不卡| 久久久久久久精品久久| 欧美性做爰片免费视频网| 久久这里只有精品热免费| 日产一区二区三区网站| 中文字幕一区精品日韩| 中文字幕的国产在线播放| 91大神九色在线观看| 侵犯人妻中文字幕一区二区| 国产精品日本一区二区三区在线|