输入对话框
# 显示对话框
dlgTitle = "输入对话框"
txtLabel = "请输入"
defaultInput = "123"
echoMode = QLineEdit.Normal
text,OK = QInputDialog.getText(self,dlgTitle,txtLabel,echoMode,defaultInput)
if OK:
print(text)
进度对话框
# 显示对话框
labTxext = "正在复制。。。"
bthText = "取消"
minV = 0
maxV = 200
dlgProgress = QProgressDialog(labTxext,bthText,minV,maxV,self)
dlgProgress.canceled.connect(self.do_progress_canceled)
dlgProgress.setWindowTitle('复制文件')
dlgProgress.setWindowModality(Qt.WindowModal)
dlgProgress.setAutoReset(True)
dlgProgress.setAutoClose(True)
# 计时器
msCounter = QTime()
for i in range(minV,maxV+1):
dlgProgress.setValue(i)
dlgProgress.setLabelText('正在复制,第'+str(i)+'个')
msCounter.start()
while(msCounter.elapsed()<30):
None
if (dlgProgress.wasCanceled()):
break
def do_progress_canceled(self): #关联槽函数
print('进度对话框取消了')
文件对话框
# 显示对话框
curPath = QDir.currentPath()
dlgTitle='选择一个文件'
filt = "所有文件(*.*);;文本文件(*.txt);;图片文件(*.jpg *.gif *.png)"
filename,filtUsed=QFileDialog.getOpenFileName(self,dlgTitle,curPath,filt)
print(filename)
print(filtUsed)
自定义对话框
使用qt creator 制造ui ,对象类 为QDialog 不是 QWidget
QmyDialog 为 ui 文件的类
class QmyDialog(QDialog):
def __init__(self,parent=None):
super().__init__(parent)
self.ui=UI_Text()
self.ui.setUi(self)
dlgSize = QmyDialog()
dlgSize.exec()