拆分窗口

建一个单文档应用程序,视图类是CTestView:public CView.

然后新建一个对话框,改变其样式为下层,边框为无;为其新建一个类CSpliWnd;

 

在CMainFrame中定义一个protect变量 CSplitterWnd m_wndSplitter;

重载CMainFrame中的OnCreateClient虚函数,并在里面添加代码:

if(!m_wndSplitter.CreateStatic(this,1,2))    //表示1行两列
 {
  return FALSE;
 }
 
 CRect rect;
 GetClientRect(&rect);
 if(!m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CRailDetectionView),
  CSize(rect.Width()/4*3,rect.Height()),pContext)||
  !m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CSpliWnd),
  CSize(rect.Width()/4,rect.Height()),pContext))
 {
  return FALSE;
 }
 
 return TRUE;

 

 

 

然后在CMainFrame中添加头文件 #include "SpliWnd.h",#include"TestView.h"

如果想控制程序运行时焦点在第二个View上时可在上面代码return TURE 前加代码

m_wndSplitter.SetActivePane(0,1,NULL);

基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip 个人大四的毕业设计、课程设计、作业、经导师指导并认可通过的高分设计项目,评审平均分达96.5分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 [资源说明] 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设或者课设、作业,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96.5分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),供学习参考。
在Python,我们可以使用Qt库来创建图形用户界面(GUI)。其的QTabWidget类可以用来创建多个选项卡界面,并且可以很方便地将选项卡拆分成多个窗口。 首先,我们需要导入必要的模块: ```python from PyQt5.QtWidgets import QApplication, QMainWindow, QTabWidget, QWidget, QVBoxLayout import sys ``` 接下来,我们创建一个继承自QMainWindow的主窗口类: ```python class MainWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("TabWidget拆分窗口示例") self.setGeometry(100, 100, 600, 400) self.initUI() def initUI(self): self.tab_widget = QTabWidget() self.setCentralWidget(self.tab_widget) for i in range(3): tab = QWidget() v_layout = QVBoxLayout() tab.setLayout(v_layout) self.tab_widget.addTab(tab, f"选项卡{i+1}") self.tab_widget.tabBarDoubleClicked.connect(self.splitWindow) def splitWindow(self): current_tab_index = self.tab_widget.currentIndex() current_tab_widget = self.tab_widget.currentWidget() new_tab_widget = QTabWidget() new_tab_widget.addTab(current_tab_widget, self.tab_widget.tabText(current_tab_index)) new_window = QMainWindow(self) new_window.setWindowTitle(self.tab_widget.tabText(current_tab_index)) new_window.setCentralWidget(new_tab_widget) new_window.show() ``` 上述代码,我们首先创建了一个QTabWidget控件作为主窗口央控件,并创建了3个选项卡。当用户双击某个选项卡时,会触发splitWindow方法,该方法会将当前选的选项卡拆分成一个新窗口,并在新窗口显示。 最后,在主程序创建并运行应用程序: ```python if __name__ == "__main__": app = QApplication(sys.argv) main_window = MainWindow() main_window.show() sys.exit(app.exec_()) ``` 通过以上代码,我们就实现了使用Python和Qt库来创建一个拆分窗口的tabwidget程序。当用户双击选项卡时,会将该选项卡拆分成一个新窗口并显示出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值