標簽頁QTabWidget


樣式:

 

 

 1 import sys
 2 from PyQt5.QtGui import QIcon
 3 from PyQt5.QtWidgets import QApplication, QWidget, QTabWidget, QLabel, QLineEdit, QDateEdit, \
 4     QComboBox, QTextEdit, QGridLayout
 5 
 6 
 7 class Demo(QTabWidget):#繼承標簽頁類
 8     def __init__(self):
 9         super(Demo, self).__init__()
10         self.resize(400,200) #設置標簽頁面的大小
11         self.tab1 = QWidget() #實例化一個窗口,做為標簽1的窗口
12 
13         self.tab2 = QWidget()
14         self.tab3 = QTextEdit()
15 
16         self.tab1_init()
17         self.tab2_init()
18         #
19         self.addTab(self.tab1, 'Basic Info') #添加標簽
20         #添加之后才會顯示
21         #參數1:是QWidget窗口或控件
22         #參數2:標簽顯示的文本
23 
24         self.addTab(self.tab2, '通訊錄')
25         self.addTab(self.tab3, QIcon('f1.ico'), 'More Info') #添加標簽
26         #QIcon('f1.ico') 標簽圖標
27 
28         self.currentChanged.connect(lambda: print(self.currentIndex())) # 用戶點擊不同標簽頁時,都會觸發信號
29         #self.currentIndex() 返回標簽項序列號
30 
31     def tab1_init(self):
32         name_label = QLabel('姓名:', self.tab1)
33         gender_label = QLabel('性別:', self.tab1)
34         gender_label.move(0,40)
35 
36         bd_label = QLabel('出生日期:', self.tab1)
37         bd_label.move(0,100)
38     # #
39         name_line = QLineEdit(self.tab1)
40         name_line.move(80,0)
41     #
42         items = ['請選擇你的性別:', 'Female', 'Male']
43         gender_combo = QComboBox(self.tab1)
44         gender_combo.addItems(items)
45         gender_combo.move(80,40)
46 
47         bd_dateedit = QDateEdit(self.tab1)
48         bd_dateedit.move(80,100)
49 
50     def tab2_init(self):
51         tel_label = QLabel('電話:', self.tab2)
52         mobile_label = QLabel('手機:', self.tab2)
53         mobile_label.move(0,40)
54 
55         add_label = QLabel('地址:', self.tab2)
56         add_label.move(0,80)
57 
58         tel_line = QLineEdit(self.tab2)
59         tel_line.move(60,0)
60         mobile_line = QLineEdit(self.tab2)
61         mobile_line.move(60,40)
62         add_line = QLineEdit(self.tab2)
63         add_line.move(60,80)
64 
65 
66 
67 if __name__ == '__main__':
68     app = QApplication(sys.argv)
69     demo = Demo()
70     demo.show()
71     sys.exit(app.exec_())

 


免責聲明!

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



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