日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pyqt5讲解4:QDialog,QMessageBox,QInputDialog,QFontDialog,QFileDialog

發布時間:2024/9/30 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pyqt5讲解4:QDialog,QMessageBox,QInputDialog,QFontDialog,QFileDialog 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

框QDialog

方法描述
setWindowTitle()設置對話框標題
setWindowModality()設置窗口模態,取值如下:Qt.NonModal:非模態,可以和程序的其他窗口進行交互;Qt.WindowModal:窗口模態,程序在未處理玩當前對話框時,將阻止和對話框的父窗口進行交互;Qt.ApplicationModal:應用程序模態,阻止和任何其他窗口進行交互
import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import *class DialogDemo(QMainWindow):def __init__(self, parent=None):super(DialogDemo, self).__init__(parent)self.setWindowTitle("Dialog 例子")self.resize(350, 300)self.btn = QPushButton(self)self.btn.setText("彈出對話框")self.btn.move(50, 50)self.btn.clicked.connect(self.showdialog)def showdialog(self):dialog = QDialog()btn = QPushButton("ok", dialog)btn.move(50, 50)dialog.setWindowTitle("Dialog")dialog.setWindowModality(Qt.ApplicationModal)dialog.exec_() if __name__ == '__main__':app = QApplication(sys.argv)demo = DialogDemo()demo.show()sys.exit(app.exec_())

彈出信息框QMessageBox

QMessageBox.information 信息框
QMessageBox.question 問答框
QMessageBox.warning 警告
QMessageBox.ctitical危險
QMessageBox.about 關于

#消息框
#self 當前窗口的父窗口
#消息:信息
QMessageBox.information(self,“消息框標題”,“這是一條消息。”,QMessageBox.Yes | QMessageBox.No)
#消息:問答
QMessageBox.question(self,“消息框標題”,“這是一條問答。”,QMessageBox.Yes | QMessageBox.No)
#消息:警告warning
QMessageBox.warning(self,“消息框標題”,“這是一條警告。”,QMessageBox.Yes | QMessageBox.No)
#消息:危險ctitical
QMessageBox.ctitical(self,“消息框標題”,“這是一條危險。”,QMessageBox.Yes | QMessageBox.No)
#消息:關于
QMessageBox.about(self,“消息框標題”,“這是關于對話框的說明”,QMessageBox.Yes | QMessageBox.No)

import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import *class WinForm(QWidget):def __init__(self):super(WinForm, self).__init__()self.setWindowTitle("QMessageBox 例子")self.resize(300, 100)self.myButton = QPushButton(self)self.myButton.setText("點擊彈出消息框")self.myButton.clicked.connect(self.msg)def msg(self):# 使用infomation信息框reply = QMessageBox.information(self, "標題", "對話框消息正文", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)#最后一個yes表示默認選yes。print(reply)if __name__ == '__main__':app = QApplication(sys.argv)demo = WinForm()demo.show()sys.exit(app.exec_())

輸入框QInputDialog

QInputDialog控件是一個標準對話框,有一個文本框和兩個按鈕(ok和cancel)組成,當用戶單擊ok或enter鍵后,在父窗口可以收集通過QInputDialog控件輸入的信息,QInputDialog控件是QDialog標準對話框的一部分
在QInpuTDialog控件中可以輸入數字,字符串或列表中的選項,標簽用于提示必要的信息

方法描述
getint()從控件中獲得標準整數輸入
getDouble()從控件中獲得標準浮點數輸入
getText()從控件中獲得標準字符串的輸入
getItem()從控件中獲得列表里的選項輸入
import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import *class InputdialogDemo(QWidget):def __init__(self, parent=None):super(InputdialogDemo, self).__init__(parent)layout = QFormLayout()self.btn1 = QPushButton("獲得列表里的選項")self.btn1.clicked.connect(self.getItem)self.le1 = QLineEdit()layout.addRow(self.btn1, self.le1)self.btn2 = QPushButton("獲得字符串")self.btn2.clicked.connect(self.getIext)self.le2 = QLineEdit()layout.addRow(self.btn2, self.le2)self.btn3 = QPushButton("獲得整數")self.btn3.clicked.connect(self.getInt)self.le3 = QLineEdit()layout.addRow(self.btn3, self.le3)self.setLayout(layout)self.setWindowTitle("Input Dialog 例子")def getItem(self):items = ("C", "C++", "Java", "Python")item, ok = QInputDialog.getItem(self, "select input dialog","語言列表", items, 0, False)if ok and item:self.le1.setText(item)def getIext(self):text, ok = QInputDialog.getText(self, 'Text Input Dialog', '輸入姓名:')if ok:self.le2.setText(str(text))def getInt(self):num, ok = QInputDialog.getInt(self, "integer input dualog", "輸入數字")if ok:self.le3.setText(str(num))if __name__ == '__main__':app = QApplication(sys.argv)demo = InputdialogDemo()demo.show()sys.exit(app.exec_())

QInputDialog.getText(self, ‘窗口名’, ‘提升信息:’)
初始界面

點擊左邊按鈕,彈出對話框界面



在對話框里輸入內容,點擊OK,就會顯示在頁面上。

字體框QFontDialog

import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import *class FontDialogDemo(QWidget):def __init__(self, parent=None):super(FontDialogDemo, self).__init__(parent)layout = QVBoxLayout()self.fontButton = QPushButton("choose font")self.fontButton.clicked.connect(self.getFont)layout.addWidget(self.fontButton)self.fontLineEdit = QLabel("Hello,測試字體例子")layout.addWidget(self.fontLineEdit)self.setLayout(layout)self.setWindowTitle("Font Dialog 例子")def getFont(self):font, ok = QFontDialog.getFont()if ok:self.fontLineEdit.setFont(font) if __name__ == '__main__':app = QApplication(sys.argv)demo = FontDialogDemo()demo.show()sys.exit(app.exec_())

文件框QFileDialog

選取文件夾 QFileDialog.getExistingDirectory()
選擇文件 QFileDialog.getOpenFileName()
選擇多個文件 QFileDialog.getOpenFileNames()
選擇保存文件 QFileDialog.getSaveFileName()

方法描述
getOpenFileName()返回用戶所選擇文件的名稱,并打開該文件
getSaveFileName()使用用戶選擇的文件名保存文件
setFileMode()可以選擇的文件類型,枚舉常量是:
-QFileDialog.AnyFile:任何文件
-QFileDialog.ExistingFile:已存在的文件
-QFileDialog.Directory:文件目錄
-QFileDialog.ExistingFiles:已經存在的多個文件
setFilter()設置過濾器,只顯示過濾器允許的文件類型
import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import *class filedialogdemo(QWidget):def __init__(self, parent=None):super(filedialogdemo, self).__init__(parent)layout = QVBoxLayout()self.btn = QPushButton("加載圖片")self.btn.clicked.connect(self.getfile)layout.addWidget(self.btn)self.le = QLabel("")layout.addWidget(self.le)self.btn1 = QPushButton("加載文本文件")self.btn1.clicked.connect(self.getfiles)layout.addWidget(self.btn1)self.contents = QTextEdit()layout.addWidget(self.contents)self.setLayout(layout)self.setWindowTitle("File Dialog 例子")def getfile(self):fname, _ = QFileDialog.getOpenFileName(self, 'Open file', 'c:\\', "Image files (*.jpg *.gif)")self.le.setPixmap(QPixmap(fname))def getfiles(self):dlg = QFileDialog()dlg.setFileMode(QFileDialog.AnyFile)dlg.setFilter(QDir.Files)if dlg.exec_():filenames = dlg.selectedFiles()f = open(filenames[0], 'r')with f:data = f.read()self.contents.setText(data) if __name__ == '__main__':app = QApplication(sys.argv)ex = filedialogdemo()ex.show()sys.exit(app.exec_())

fname, _ = QFileDialog.getOpenFileName(self, ‘Open file’, ‘c:\’, “Image files (*.jpg .gif)")
fname:文件名
_:打開的文件類型
‘Open file’:打開窗口名,可以不寫。設為""
‘c:\’:初始打開文件夾路徑
Image files (.jpg *.gif)”:文件過濾,

All Files(*) 所有類型文件。 imgName, imgType = QFileDialog.getOpenFileName(self, "打開圖片", "", "*.jpg;;*.png;;All Files(*)")

電氣工程的計算機萌新,寫博文不容易。如果你覺得本文對你有用,請點個贊支持下。謝謝。

總結

以上是生活随笔為你收集整理的pyqt5讲解4:QDialog,QMessageBox,QInputDialog,QFontDialog,QFileDialog的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。