PyQt5-對話框控件使用(QInputDialog,QFontDialog)


QInputDialog 控件是一個標准對話框,由一個輸入文本框和兩個按鈕組成;

常用方法如下:

 

QFontDialog控件是一個常用的字體選擇對話框,可以讓用戶選擇字體樣式; QFontDialog是QDialog標准對話框的一部分;

QFontDialog中靜態方法getFont()可以獲取到選擇的字體樣式;

 

例如:QInputDialog和QFontDialog實例如下:

 1 #QInputDialog對話框使用
 2 from PyQt5.QtWidgets import QFontDialog, QLineEdit,QStyle,QFormLayout, QInputDialog,QVBoxLayout,QWidget,QApplication ,QHBoxLayout,QDialog,QPushButton,QMainWindow,QGridLayout,QLabel
 3 
 4 from PyQt5.QtGui import QIcon,QPixmap,QFont
 5 from PyQt5.QtCore import  Qt
 6 
 7 import sys
 8 
 9 class WindowClass(QWidget):
10 
11     def __init__(self,parent=None):
12 
13         super(WindowClass, self).__init__(parent)
14         layout=QFormLayout()
15         self.btnCity=QPushButton()
16         self.btnCity.setText("選擇城市")
17         self.btnSal=QPushButton()
18         self.btnSal.setText("輸入工資")
19         self.btnName=QPushButton()
20         self.btnName.setText("輸入名字")
21         self.btnFont= QPushButton()
22         self.btnFont.setText("選擇字體樣式")
23 
24         self.btnCity.clicked.connect(self.city)
25         self.btnSal.clicked.connect(self.sal)
26         self.btnName.clicked.connect(self.name)
27         self.btnFont.clicked.connect(self.font)
28 
29         self.editCity=QLineEdit()
30         self.editSal=QLineEdit()
31         self.editName=QLineEdit()
32         self.editCity.setReadOnly(True)
33         self.editSal.setReadOnly(True)
34         self.editName.setReadOnly(True)
35 
36         self.resize(500,500)
37         layout.addRow(self.btnName,self.editName)
38         layout.addRow(self.btnSal,self.editSal)
39         layout.addRow(self.btnCity,self.editCity)
40         layout.addRow(self.btnFont)
41 
42         self.setLayout(layout)
43 
44 
45     def city(self):
46         items=['北京','上海','天津','石家庄']
47         cityDialog=QInputDialog()
48         item,ok=cityDialog.getItem(self,"選擇城市","城市列表",items,0,False)
49         print(item,ok)
50         if  ok and item:
51             self.editCity.setText(item)
52 
53 
54     def sal(self):
55         salDialog = QInputDialog()
56         s,ok=salDialog.getDouble(self,"設置工資","輸入工資")
57         if   ok:
58             self.editSal.setText(str(s))
59 
60     def name(self):
61         nameDialog = QInputDialog()
62         t,ok=nameDialog.getText(self,"設置姓名","輸入名字字符串")
63         if   ok:
64             self.editName.setText(str(t))
65 
66     #QFontDialog設置第一個QLineEdit文本字體樣式
67     def font(self):
68         fontMsg,ok=QFontDialog.getFont()
69         if ok:
70             self.editName.setFont(fontMsg)
71 
72 if __name__=="__main__":
73     app=QApplication(sys.argv)
74     win=WindowClass()
75     win.show()
76     sys.exit(app.exec_())

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM