<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      RS小生

      導(dǎo)航

      (一)PyQt5基本窗口控件之QMain Window

      ===============================================================

      講解前提——已經(jīng)在Windows或者M(jìn)ac系統(tǒng)上安裝好PyQt5及其相應(yīng)的配置

      參考書:《PyQt5 快速開發(fā)與實戰(zhàn)》

      ===============================================================

       

      (1)基本概念

      窗口:指程序的整體界面,可以包含標(biāo)題欄、菜單欄、工具欄、關(guān)閉按鈕、最小化按鈕、最大化按鈕等(可以理解為相當(dāng)于瀏覽器的主頁)

      控件:指按鈕、復(fù)選框、文本框、表格、進(jìn)度條等這些組成程序的基本元素 。

      窗口控件:是PyQt中建立界面的主要元素。在PyQt中把沒有嵌入到其他控件中的控件稱為窗口,一般窗口都有邊框、標(biāo)題欄。

      一個程序可以有多個窗口,一個窗口也可以有多個控件。

       

      在PyQt中,有三個類都是用來創(chuàng)建窗口的,即QMainWindow, QWidget和QDialog,這些窗口可以直接調(diào)用,也可以繼承后再使用。

      • 作為PyQt中的基本窗口控件之一,QMain Window主窗口為用戶提供了一個應(yīng)用程序框架,它擁有自己的布局,可以在布局中添加不同的控件。QMain Window窗口可以包含菜單欄、工具欄、狀態(tài)欄、標(biāo)題欄等。是比較常用的窗口形式,一般作為GUI的主窗口使用。
      • 與之不同,QDialog是對話框窗口的基類。而對話框主要是用來執(zhí)行短期任務(wù),或者與用戶進(jìn)行互動,既可以是模態(tài)的,也可以是非模態(tài)的。QDialog窗口沒有菜單欄、工具欄、狀態(tài)欄等。
      • QWidget類窗口控件是所有用戶界面對象的基類,所有的窗口和控件都直接或者間接繼承自QWidget類。

      因此,如果是主窗口,則使用QMain Window類;如果是對話框,則使用QDialog類;如果不確定,或者有可能作為頂層窗口,也有可能嵌入到其他窗口中,則使用QWidget類

       

      (2)創(chuàng)建窗口

      父窗口:指一個窗口包含一個或多個窗口

      子窗口:被包含的窗口

      頂層窗口:沒有父窗口的窗口,QMain Window就是一個頂層窗口,它可以包含多個界面元素,如菜單欄、工具欄、狀態(tài)欄、子窗口等。

      QMain Window繼承自QWidget類,擁有它的所有派生方法和屬性,其中比較重要的方法有:

      1)addToolBar(): 表示添加工具欄

      2)centralWidget():表示返回窗口中心的一個控件,未設(shè)置時返回NULL

      3) menuBar():表示主窗口的菜單欄

      4)setCentralWidget():表示設(shè)置窗口中心的控件

      5) setStatusBar():表示設(shè)置狀態(tài)欄

      6)StatusBar(): 表示獲得狀態(tài)欄對象后,調(diào)用狀態(tài)欄對象的showMessage顯示狀態(tài)欄信息。

      需要注意的是:QMain Window不能設(shè)置布局,它有自己的布局方式。

       

      (3)代碼展示

      在下面的例子中,我們將創(chuàng)建窗口,顯示在屏幕中央,以及關(guān)閉主窗口寫在一起。

      在創(chuàng)建好的窗口中,插入了一個Button控件,用來關(guān)閉當(dāng)前窗口

      # _*_ coding: UTF-8 _*_
      # Author: liming
      
      import sys
      from PyQt5.QtWidgets import QMainWindow, QApplication, QDesktopWidget, QHBoxLayout, QPushButton, QWidget
      from PyQt5.QtGui import QIcon
      
      class MainWindow(QMainWindow):
          def __init__(self, parent=None):
              super(MainWindow, self).__init__(parent)
              self.resize(600, 300) # 設(shè)置窗口的大小
              self.status = self.statusBar() # 狀態(tài)欄
              self.status.showMessage('正在處理中......', 0) # 顯示狀態(tài)欄信息,默認(rèn)為0(表示下一個操作前,一直顯示狀態(tài)欄;也可以設(shè)置顯示時間,單位為毫秒)
              self.setWindowTitle('PyQt MainWindow操作例子') # 設(shè)置該窗口的名稱
      
              self.center() # 將窗口放在屏幕中央
      
              self.button1 = QPushButton('關(guān)閉當(dāng)前窗口!') # 創(chuàng)建一個按鈕,并賦予相應(yīng)的文本
              self.button1.clicked.connect(self.onButtonClick) # 關(guān)聯(lián)按鈕的點擊信號與onButtonClickx信號槽
              layout = QHBoxLayout() # 設(shè)置水平布局
              layout.addWidget(self.button1) # 水平布局應(yīng)用到button1
              main_frame = QWidget()
              main_frame.setLayout(layout)
              self.setCentralWidget(main_frame) # 設(shè)置窗口中心的控件
      
          def center(self):
              screen = QDesktopWidget().screenGeometry() # 計算顯示屏幕的大小
              size = self.geometry() # 用來獲取窗口的大小
              self.move((screen.width() - size.width()) / 2, (screen.height() - size.height()) / 2) # 將窗口移動到屏幕中央
      
          def onButtonClick(self):
              sender = self.sender() # 發(fā)送信號的對象
              print(sender.text() + '被按下了')
              qApp = QApplication.instance()
              qApp.quit()
      
      
      if __name__ == '__main__':
          app = QApplication(sys.argv) # 是PyQt的整個后臺管理的命脈
          app.setWindowIcon(QIcon('./images/cartoon1.ico')) # 設(shè)置窗口的頭標(biāo)
          form = MainWindow() # 調(diào)用MainWindow類,并進(jìn)行顯示
          form.show()
          sys.exit(app.exec_()) # 運行主循環(huán),必須調(diào)用此函數(shù)才可以開始事件處理
      

       

      結(jié)果

       

       

      本部分完畢!

       

       

       

       

        

       

      posted on 2020-05-21 23:39  RS小生  閱讀(4049)  評論(1)    收藏  舉報

      主站蜘蛛池模板: 国产成人自拍小视频在线| 午夜成人性爽爽免费视频| 久久亚洲日韩精品一区二区三区 | 忍着娇喘人妻被中出中文字幕| 东兴市| 精品精品久久宅男的天堂| 国产免费午夜福利757| 又黄又爽又无遮挡免费的网站| 国产麻豆放荡av激情演绎| 在线播放亚洲成人av| 清新县| 亚洲永久一区二区三区在线| 最近2019免费中文字幕8| 内黄县| 欧美裸体xxxx极品| 在线中文字幕第一页| 古丈县| 中国国产免费毛卡片| 国产成人精品a视频一区| 亚洲春色在线视频| 亚洲精品一区久久久久一品av| 国产美女MM131爽爽爽| 五月天免费中文字幕av| 国产不卡一区在线视频| 五月综合激情婷婷六月| 色综合色天天久久婷婷基地 | 成人午夜免费无码视频在线观看| 绝顶丰满少妇av无码| 自拍日韩亚洲一区在线| 精品熟女少妇免费久久| 国产性色的免费视频网站| 天堂v亚洲国产v第一次| 国内揄拍国产精品人妻电影| 亚洲第一最快av网站| 中文字幕丰满乱子无码视频| 国产精品一区二区不卡视频| 亚洲精品香蕉一区二区| 一级国产在线观看高清| 玩弄放荡人妻少妇系列| 国产精品国产三级国av| 国产永久免费高清在线观看|