首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将新窗口放置在PyQt5中现有的主窗口位置(而不是屏幕中心)?

要将新窗口放置在PyQt5中现有的主窗口位置而不是屏幕中心,可以使用move()方法和pos()方法来实现。

首先,创建一个新的窗口对象,并设置其位置为主窗口的位置。可以通过调用主窗口对象的pos()方法来获取其位置坐标。然后,使用新窗口对象的move()方法将其移动到主窗口的位置。

以下是实现这个功能的示例代码:

代码语言:txt
复制
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QWidget


class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle('主窗口')
        self.setGeometry(100, 100, 500, 500)

        self.button = QPushButton('打开新窗口', self)
        self.button.setGeometry(50, 50, 200, 50)
        self.button.clicked.connect(self.open_new_window)

    def open_new_window(self):
        new_window = QWidget()
        new_window.setWindowTitle('新窗口')
        new_window.setGeometry(self.pos().x(), self.pos().y(), 300, 200)
        new_window.show()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    main_window = MainWindow()
    main_window.show()
    sys.exit(app.exec())

在上述代码中,我们创建了一个MainWindow类作为主窗口,并在主窗口中添加了一个按钮。当点击按钮时,会创建一个新的窗口对象new_window,并将其位置设置为主窗口的位置,然后显示新窗口。

请注意,这只是一个简单的示例代码,用于演示如何将新窗口放置在主窗口位置。在实际应用中,可能需要根据具体需求来进行调整和优化。

推荐的腾讯云相关产品:腾讯云服务器(CVM)和腾讯云弹性容器实例(Elastic Container Instance)。您可以通过以下链接了解更多信息:

  1. 腾讯云服务器(CVM):提供基于云的虚拟服务器,适用于各种应用场景。
  2. 腾讯云弹性容器实例(Elastic Container Instance):以容器为单位提供的高性能、高可靠的服务器负载。

请注意,上述推荐的腾讯云产品仅供参考,具体选择和使用还需根据实际需求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

『Python动手学』PyQt5入门教程

它是一个多平台的工具套件,它可以运行在所有的主流操作系统,包含Unix,Windows和Mac OS。PyQt5采用双重许可模式。开发者可以GPL和社区授权之间选择。...setGeometry()做了两件事:将窗口屏幕上显示,并设置了它的尺寸。setGeometry()方法的前两个参数定位了窗口的x轴和y轴位置。...否则不是点击Yes按钮的话我们将忽略将关闭事件。 屏幕上的居中窗口 下面的脚本展示我们如何把窗口居中显示到桌面窗口。 #!...self.center() 将窗口居中放置的代码自定义的center()方法。 qr = self.frameGeometry() 我们获得主窗口的一个矩形特定几何图形。这包含了窗口的框架。...并且从这个绝对值,我们获得了屏幕中心点。 qr.moveCenter(cp) 我们的矩形已经设置好了它的宽和高。现在我们把矩形的中心设置到屏幕的中间去。矩形的大小并不会改变。

2.9K20

『开发技巧』PyQt5入门教程

它是一个多平台的工具套件,它可以运行在所有的主流操作系统,包含Unix,Windows和Mac OS。PyQt5采用双重许可模式。开发者可以GPL和社区授权之间选择。...setGeometry()做了两件事:将窗口屏幕上显示,并设置了它的尺寸。setGeometry()方法的前两个参数定位了窗口的x轴和y轴位置。...否则不是点击Yes按钮的话我们将忽略将关闭事件。 ? Figure: Message box 屏幕上的居中窗口 下面的脚本展示我们如何把窗口居中显示到桌面窗口。...1 self.center() 将窗口居中放置的代码自定义的center()方法。 1 qr = self.frameGeometry() 我们获得主窗口的一个矩形特定几何图形。...并且从这个绝对值,我们获得了屏幕中心点。 1 qr.moveCenter(cp) 我们的矩形已经设置好了它的宽和高。现在我们把矩形的中心设置到屏幕的中间去。矩形的大小并不会改变。

4.3K30
  • First PyQt

    , QWidget 所有的PyQt5应用必须创建一个应用(Application)对象。...setGeometry()做了两件事:将窗口屏幕上显示,并设置了它的尺寸。setGeometry()方法的前两个参数定位了窗口的x轴和y轴位置。...否则不是点击Yes按钮的话我们将忽略将关闭事件。 屏幕上居中的窗口 下面的脚本展示我们如何把窗口居中显示到桌面窗口。 #!...self.center()将窗口居中放置的代码自定义的center()方法 我们获得主窗口的一个矩形特定几何图形。这包含了窗口的框架。...现在我们把矩形的中心设置到屏幕的中间去。矩形的大小并不会改变。 qr.moveCenter(cp) 我们移动了应用窗口的左上方的点到qr矩形的左上方的点,因此居中显示我们的屏幕上。

    1.7K30

    最新iOS设计规范九|10大系统能力(System Capabilities)

    间接控件不是虚拟环境的一部分,而是屏幕空间中显示的2D控件。如果人们需要访问应用程序的持久控件,请考虑放置控件,这样人们就不必调整他们握住设备的方式即可触达。...例如: 将应用程序的Dock图标拖到屏幕的一侧,以选择其当前窗口之一或创建一个新窗口 将一个对象拖到屏幕的一侧,然后将其拖放到系统提供的放置目标上 触摸并按住屏幕或Dock上的应用程序图标,在出现的上下文菜单中点击...尽管大多数情况下应使用窗口,但是否使用辅助窗口很大程度上取决于人们应用程序打开新窗口时要查看的内容类型。...无论人们是通过将项目拖动到屏幕侧面还是通过选择“新窗口中打开项目”命令来打开新窗口,都应考虑以下启发式。 如果项目是内容文件夹,请使用窗口。...如果您的应用程序包含工具栏,则将在此处不是导航栏显示任何特定于预览的按钮。

    4.3K20

    基础窗口控件QWidget简介

    因为Qt Designer并不是为了python写的,所以用起来不是很方便。...他并不是你所想象的用代码去按像素调整窗口PyQt5的布局管理器是根据左右布局、上下布局或者栅格布局自动帮你调整到对应的位置,你只需要进行一些微调就可以了。...对于独立的顶层窗口,它的X、Y坐标是针对整个屏幕的,也就是说widget控件设置的300,300是屏幕上的偏移位置。...对于子控件,它的X、Y坐标是针对其父控件的,w1控件设置的100,100是针对widget控件的,整个屏幕上就是400,400位置。...PyQt5获取控件位置有以下三种方式: QWidget直接提供的成员函数:x(), y()获得窗口左上角的坐标,width(), height()获取窗口的宽度和高度。

    5.4K40

    PyQt5案例汇总(简洁版)

    ,高450px w.move(300,200) # move()是修改控件位置的方法.他把控件放置屏幕坐标的(300,200位置) # 注:屏幕坐标的原点是屏幕的左上角 w.setWindowTitle....控件在内存创建,之后才能在显示器上显示出来 sys.exit(app.exec()) # 最后,我们进入了应用的循环中,事件处理器这个时候开始工作. # 循环从窗口上接收事件,并把事件传入到派发到应用控件里...setGeometry() 有两个作用: 把窗口放到屏幕上并且设置窗口大小....(QCoreApplication.instance().quit) # 事件传递系统PyQt5内建的single和slot机制里面.点击按钮之后,信号会被捕捉并给出既定的反应...# QCoreApplication包含了事件的循环,它能添加和删除所有的事件 # instance()创建 了一个它的实例

    2K30

    手把手教你用Python做个可视化的“剪刀石头布”小游戏

    第一步:创建游戏窗口 PyQt5创建窗口有其固定的套路,首先要创建应用程序对象:app=QApplication(sys.argv),参数sys.argv是命令行参数,这使得可以电脑系统终端执行程序时...1.我想把整个出窗口分成3x3=9个网格,然后以网格布局的方式往里填内容,首先将“红方选手”、“第X轮”、“蓝方选手”分别放入第一行的3个网格。 ?...网格布局需要用到addWidget函数,它的上图中的4个参数分别代表放置的空间、放置行数、放置的列数,上述3个控件分别放在第1行的1-3列。效果如下图所示: ?...2.留出“剪刀石头布”图片展示位置,分别放置第二行的1和3网格。 ? ? 第二行中间网格放置红蓝双方得分情况。 ?...1. gamestart函数 1)游戏开始后,我需要随机从“剪刀”、“石头”、“布”三张图片中选出1张放置到相应位置,代码如下图所示: ?

    1.2K30

    JavaScript - Window.open 弹窗 详解

    弹窗 window.open( ) , 它会打开一个指定URL 的新窗口。 浏览器会打开一个新的选项卡URL,不是独立的窗口。...params: 新窗口的配置字符串。它包括设置,用逗号分隔。参数之间不能有空格,例如:width=200,height=100。 params 的设置项: 位置: left/top(数字)—— 屏幕窗口的左上角的坐标。这有一个限制:不能将新窗口置于屏幕外(offscreen)。 width/height(数字)—— 新窗口的宽度和高度。...opener 只弹出窗口的最外层 window 对象(top)定义,而且指向调用 window.open() 方法的窗口或框架。...window.opener.document.write ("给原有窗口添加内容"); //窗口中输出提示信息 窗口之间的连接是双向的:窗口和弹窗之间相互引用。

    1.2K20

    chrome快捷键

    标签页和窗口快捷键 操作 快捷键 打开新窗口 Ctrl + n 无痕模式下打开新窗口 Ctrl + Shift + n 打开新的标签页,并跳转到该标签页 Ctrl + t 重新打开最后关闭的标签页,并跳转到该标签页...“历史记录”页 Ctrl + h 新标签页打开“下载内容”页 Ctrl + j 打开 Chrome 任务管理器 Shift + Esc 将焦点放置 Chrome 工具栏的第一项上 Shift +...Shift + Delete 新标签页打开 Chrome 帮助中心 F1 使用其他帐号登录或以访客身份浏览 Ctrl + Shift + m 打开反馈表单 Alt + Shift + i 地址栏快捷键... Ctrl + Shift 键的同时点击链接 打开链接,并跳转到该链接(仅使用鼠标) 将链接拖到标签栏的空白区域 新窗口中打开链接 按住 Shift 键的同时点击链接 新窗口中打开标签页(仅使用鼠标...) 将标签页拖出标签栏 将标签页移至当前窗口(仅限鼠标) 将标签页拖到现有窗口中 将标签页移回其原始位置 拖动标签页的同时按 Esc 将当前网页保存为书签 将相应网址拖动到书签栏 下载链接目标 按住

    1.8K20

    JavaScriptwindow.open()和Window Location href的区别

    默认是没有的全屏模式下的 window,还必须在影院模式。仅限IE浏览器 height=pixels 窗口的高度。...只要有窗口的名称和window.open第二个参数的一样就会将这个窗口替换,用这个特性的话可以iframe和frame来代替location.href。...window.open ('page.html') 用于控制弹出新的窗口page.html,如果page.html不与窗口同一路径下,前面应写明路径,绝对路径(http://)和相对路径(../)均可...如果我们再将一小段 代码加入弹出的页面(注意是加入page.html的HTML,可不是主页面,否则 ...),让它10秒后自动关闭是不是更酷了?...然后,用(注意不是openwin而是loadpop啊!)替换主页面中原有的这一句即可。

    2.3K51

    关闭浏览器后,Cryptojacking脚本却仍在运行

    Malwarebytes研究人员杰罗姆·塞古拉(Jerome Segura)发现,不法分子利用一种被称为弹出式(pop-under)的手段,这样能够产生一个独立于浏览器的新窗口。...网站运营商将新窗口隐藏在Windows任务栏下 网站所有者还能通过JavaScript代码在用户电脑上调整窗口的大小和位置。...塞古拉(一个门户网站)使用下面的公式动态计算这个新窗口位置: 水平位置=(当前屏幕宽度) - 100px 垂直位置=(当前屏幕高度) - 40px 对于大多数用户来说,这只会在Windows任务栏下显示一个小窗口...新窗口难找,但容易关闭 如果用户的操作系统界面使用了透明度接口的话,就只有Windows任务管理器才能找到该进程。...早在2010年初,当比特币矿业刚刚开始盈利时,美国当局就介入关闭了一项名为Tidbit的类似服务: 内置于浏览器的(比特币)挖矿服务被美国当局关闭:[https://t.co/4WdbRnHsmx]

    1K90

    JavaScriptwindow.open()和Window Location href的区别「建议收藏」

    默认是没有的全屏模式下的 window,还必须在影院模式。仅限IE浏览器 height=pixels 窗口的高度。...只要有窗口的名称和window.open第二个参数的一样就会将这个窗口替换,用这个特性的话可以iframe和frame来代替location.href。...window.open (‘page.html’) 用于控制弹出新的窗口page.html,如果page.html不与窗口同一路径下,前面应写明路径,绝对路径(http://)和相对路径(../)均可...=400 窗口宽度;   top=0 窗口距离屏幕上方的象素值;   left=0 窗口距离屏幕左侧的象素值;   toolbar=no 是否显示工具栏,yes为显示;   menubar...如果我们再将一小段 代码加入弹出的页面(注意是加入page.html的HTML,可不是主页面,否则 …),让它10秒后自动关闭是不是更酷了?

    5K20

    JavaScrtip之JS最佳实践

    如果省略这个参数(这个参数为空),屏幕上将弹出一个空白的浏览器窗口。 name:新窗口的名字。...featrues:这个参数是以逗号分隔的一个字符串,他的内容是新窗口的各种属性,如新窗口的宽,高,以及新窗口被启用或禁用的各种浏览器的各种浏览功能(工具条、菜单条、初始显示位置等等); open()方法是使用..."popup",因为我在这个函数已为新窗口命名,所以把新的url地址传给此函数时,这个函数将把新窗口的现有文档替换成新url地址处的文档,不是去新创建一个窗口!...减少请求数量通常都是性能优化时首先要考虑的!...2.合理的合并脚本固然重要,脚本html文档放置位置同样重要,因为每款浏览器都有他的"并发请求数",意思是同一时间针对同一域名的请求有数量限制,超过限制数目后,其余的请求会被阻止,如果我们将脚本文件放到

    2.1K50

    Linux Lite 6.0 抛弃 Firefox 支持 Google Chrome 作为默认浏览器

    Linux Lite 6.0:概述Linux Lite 6.0 包含许多更改,包括:更新的软件新窗口主题新的屏幕键盘屏幕阅读器屏幕放大镜Firefox 被 Chrome 取代为默认浏览器新的 grub...可访问性在历史上一直是 GNOME 特有的优势,现在已经有了很大的改进,这包含三种不同的工具:屏幕键盘、屏幕阅读器 (Orca) 和屏幕放大器。...图片最后的可访问性改进,屏幕放大镜,也针对与屏幕阅读器相同的受众,但是,它与传统的桌面理念更加一致,因此许多用户可能更喜欢它不是屏幕阅读器。...以前,由于提供了更高的稳定性,Linux Lite 较旧的版本受到阻碍,然而,Linux Lite 开发人员现在对使用最新的稳定版本感到很自在,测试新 LibreOffice 版本的人比以往任何时候都多...新窗口主题图片Linux Lite 6.0 引入了一个名为“ Materia ”的新窗口主题,主题社区的人可能会非常熟悉它,因为它已被移植到几乎每个平台,其中包括 GTK 2、3 和 4、GNOME

    2.5K30

    PyQt5窗口QMainWindow简介

    看过上一篇我们知道,PyQt5了,所有的控件都是继承自。桌面应用当中,我们常用的软件都会包含一个窗口窗口就是承载所有控件的一个窗体。...PyQt5当中常用的窗体有两种QMainWindow和QDialog。当然这两个也是继承自QWidget类。...窗口的使用 在这里我们先看一下最常用的窗口类QMainWindow,它为用户提供了一个应用程序框架,包含有自己的布局,可以布局添加控件。 看一下下面的这张图片就是QMainWindow。...它的中间会有一个QWidget占着中心位置,我们可以使用setCentralWidget来设置中心窗口。 ?...窗口布局区域 因为QMainWindow继承自QWidget,所以拥有它的所有派生类方法和属性。QMainWindow中有几个比较重要的方法。

    3.9K31

    Notes | Chrome 浏览器常用快捷键

    “历史记录”页 Ctrl + h 新标签页打开“下载内容”页 Ctrl + j 打开 Chrome 任务管理器 Shift + Esc 将焦点放置 Chrome 工具栏的第一项上 Shift +...Alt + t 将焦点放置 Chrome 工具栏中最右侧的那一项上 F10 将焦点移到未聚焦于的对话框(如果显示)或所有工具栏 F6 打开查找栏搜索当前网页 Ctrl + f 或 F3 跳转到与查找栏搜索字词相匹配的下一条内容...Shift + Delete 新标签页打开 Chrome 帮助中心 F1 使用其他帐号登录或以访客身份浏览 Ctrl + Shift + m 打开反馈表单 Alt + Shift + i 地址栏快捷键...+ Shift 键的同时点击链接 打开链接,并跳转到该链接(仅使用鼠标) 将链接拖到标签栏的空白区域 新窗口中打开链接 按住 Shift 键的同时点击链接 新窗口中打开标签页(仅使用鼠标) 将标签页拖出标签栏...将标签页移至当前窗口(仅限鼠标) 将标签页拖到现有窗口中 将标签页移回其原始位置 拖动标签页的同时按 Esc 将当前网页保存为书签 将相应网址拖动到书签栏 在网页上水平滚动 按住 Shift 键并滚动鼠标滚轮

    1.6K10

    Chrome 键盘快捷键 转

    Windows 和 Linux 标签页和窗口快捷键 操作 快捷键 打开新窗口 Ctrl + n 无痕模式下打开新窗口 Ctrl + Shift + n 打开新的标签页,并跳转到该标签页 Ctrl +...“历史记录”页 Ctrl + h 新标签页打开“下载内容”页 Ctrl + j 打开 Chrome 任务管理器 Shift + Esc 将焦点放置 Chrome 工具栏的第一项上 Shift +...帮助中心 F1 使用其他帐号登录或以访客身份浏览 Ctrl + Shift + m 打开反馈表单 Alt + Shift + i 地址栏快捷键 地址栏可使用以下快捷键: 操作 快捷键 使用默认搜索引擎进行搜索...+ l、Alt + d 或 F6 从页面的任意位置搜索 Ctrl + k 或 Ctrl + e 从地址栏移除联想查询内容 按向下箭头键以突出显示相应内容,然后按 Shift + Delete 网页快捷键...) 将链接拖到标签栏的空白区域 新窗口中打开链接 按住 Shift 键的同时点击链接 新窗口中打开标签页(仅使用鼠标) 将标签页拖出标签栏 将标签页移至当前窗口(仅限鼠标) 将标签页拖到现有窗口

    1.4K20

    python GUI库图形界面开发之PyQt5窗口类QMainWindow详细使用方法

    QMainWindow QMainWindow类中比较重要的方法 方法 描述 addToolBar() 添加工具栏 centralWidge() 返回窗口中心的一个控件,未设置时返回NULL menuBar...() 返回窗口的菜单栏 setCentralWidget() 设置窗口中心的控件 setStatusBar() 设置状态栏 statusBar() 获得状态栏对象后,调用状态栏对象的showMessage...#将提示信息显示状态栏showMessage(‘提示信息',显示时间(单位毫秒)) self.status.showMessage('这是状态栏提示',4000) #创建窗口标题...窗口实例 main_frame=QWidget() #加载布局 main_frame.setLayout(layout) #把widget窗口加载到窗口的中央位置...本文主要讲解了python GUI库图形界面开发之PyQt5窗口类QMainWindow详细使用方法,了解更多相关文章请查看下面的相关链接

    2.5K51
    领券