欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python GUI庫圖形界面開發(fā)之PyQt5窗口類QMainWindow詳細(xì)使用方法

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

QMainWindow

QMainWindow類中比較重要的方法

方法 描述
addToolBar() 添加工具欄
centralWidge() 返回窗口中心的一個(gè)控件,未設(shè)置時(shí)返回NULL
menuBar() 返回主窗口的菜單欄
setCentralWidget() 設(shè)置窗口中心的控件
setStatusBar() 設(shè)置狀態(tài)欄
statusBar() 獲得狀態(tài)欄對(duì)象后,調(diào)用狀態(tài)欄對(duì)象的showMessage(message,int timeout=0)方法
顯示狀態(tài)欄信息,其中第一個(gè)參數(shù)是要顯示的狀態(tài)欄信息,第二個(gè)參數(shù)是信息停留的時(shí)間,單位是毫秒,默認(rèn)是0,表示一直顯示狀態(tài)欄信息

顯示狀態(tài)欄信息,其中第一個(gè)參數(shù)是要顯示的狀態(tài)欄信息,第二個(gè)參數(shù)是信息停留的時(shí)間,單位是毫秒,默認(rèn)是0,表示一直顯示狀態(tài)欄信息

注意:QMainWindow不能設(shè)置布局(使用setLayout()方法),因?yàn)樗凶约旱牟季?/p>

創(chuàng)建主窗口實(shí)例

#下面這行代碼是為了避免在所生成的pyqt中出現(xiàn)中文亂碼的問題
# -*- coding:UTF-8 -*-
import sys
from PyQt5.QtWidgets import QApplication,QMainWindow
from PyQt5.QtGui import QIcon

class MainWindow(QMainWindow):
  def __init__(self,parent=None):
    #初始化繼承的父類(Qmainwindow)
    super(MainWindow, self).__init__(parent)
    #設(shè)置窗口的大小
    self.resize(400,200)
    #實(shí)例化創(chuàng)建狀態(tài)欄
    self.status=self.statusBar()
    #將提示信息顯示在狀態(tài)欄中showMessage(‘提示信息',顯示時(shí)間(單位毫秒))
    self.status.showMessage('這是狀態(tài)欄提示',4000)
    #創(chuàng)建窗口標(biāo)題
    self.setWindowTitle('PyQt MainWindow例子')


if __name__ == '__main__':
  # 每一個(gè)pyqt程序中都需要有一個(gè)QApplication對(duì)象,sys.argv是一個(gè)命令行參數(shù)列表
  app=QApplication(sys.argv)
  #實(shí)例化窗口
  form=MainWindow()
  #窗口顯示
  form.show()
  #進(jìn)入程序的主循環(huán),遇到退出情況,終止程序
  sys.exit(app.exec_())

效果圖如下:

主窗口居中顯示實(shí)例

from PyQt5.QtWidgets import QDesktopWidget,QApplication,QMainWindow
import sys

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

    self.setWindowTitle('主窗口居中的例子')
    #設(shè)置窗體的寬高
    self.resize(370,250)

    #調(diào)用一個(gè)函數(shù)
    self.center()

  def center(self):
    #獲取屏幕的大小
    screen=QDesktopWidget().screenGeometry()
    #獲取窗口的大小
    size=self.geometry()
    #將窗口移動(dòng)到屏幕中央
    self.move((screen.width() - size.width()) /2,(screen.height() - size.height()) /2)


if __name__ == '__main__':
  app=QApplication(sys.argv)
  win=WinForm()
  win.show()
  sys.exit(app.exec_())

效果如下:

關(guān)閉主窗口實(shí)例

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

class WinForm(QMainWindow):

  def __init__(self,parent=None):
    super(WinForm, self).__init__(parent)
    self.setWindowTitle('關(guān)閉主窗口的例子')
    #創(chuàng)建按鈕實(shí)例,按鈕名稱:關(guān)閉主窗口
    self.button1=QPushButton('關(guān)閉主窗口')
    #按鈕的clicked信號(hào)與onButtonClick槽函數(shù)關(guān)聯(lián)起來
    self.button1.clicked.connect(self.onButtonClick)

    #水平布局
    layout=QHBoxLayout()
    #按鈕加入水平布局中
    layout.addWidget(self.button1)

    #創(chuàng)建widget窗口實(shí)例
    main_frame=QWidget()
    #加載布局
    main_frame.setLayout(layout)
    #把widget窗口加載到主窗口的中央位置
    self.setCentralWidget(main_frame)

  def onButtonClick(self):
    #sender是發(fā)送信號(hào)的對(duì)象,這里獲得的是按鈕的名稱
    sender=self.sender()
    #以文本的行書輸出按鈕的名稱
    print(sender.text() + ' 被按下了')
    #獲取QApplication類的對(duì)象
    qApp=QApplication.instance()
    #退出
    qApp.quit()
if __name__ == '__main__':
  app=QApplication(sys.argv)
  win=WinForm()
  win.show()
  sys.exit(app.exec_())

點(diǎn)擊按鈕,退出程序,控制臺(tái)輸出,關(guān)閉主窗口 被按下了

本文主要講解了python GUI庫圖形界面開發(fā)之PyQt5窗口類QMainWindow詳細(xì)使用方法,了解更多相關(guān)文章請(qǐng)查看下面的相關(guān)鏈接

相關(guān)文章

最新評(píng)論