标签页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_())
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· What?废柴, 还在本地部署DeepSeek吗?Are you kidding?
· 程序员转型AI:行业分析
· 为DeepSeek添加本地知识库
· 深入集成:使用 DeepSeek SDK for .NET 实现自然语言处理功能
· .NET程序员AI开发基座:Microsoft.Extensions.AI