from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(400, 300)
self.label = QtWidgets.QLabel(Form)
self.label.setGeometry(QtCore.QRect(140, 130, 81, 18))
self.label.setObjectName("label")
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Form"))
self.label.setText(_translate("Form", "第二界面"))
""" if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Form = QtWidgets.QWidget()
ui = Ui_Form()
ui.setupUi(Form)
Form.show()
sys.exit(app.exec_()) """
先在qt designer 中设计好两个窗口(main和second)如图在vscode 中将 相应的ui 文件 编译成python文件修改 UI_main.py 为main窗口中的按钮添加点击事件UI_main.pyfrom PyQt5 import QtCore, QtGui, QtWidgetsfrom Ui_second import Ui_Formclass Ui_Ma...
已有一个MainWindow,再新建一个widget和dialog的窗体文件,转化为对应的py文件在mianWindow中引用。代码如下# -*- coding: utf-8 -*-
from PyQt5 import QtWidgets
from main_windows import Ui_MainWindow
import sys
from wid_defs import my_widge...
在按键处显示窗口,关键之处在于获取按键在桌面的位置。我们可以先通过self.x()/self.y()获取窗口相对于桌面的位置,然后在获取按键相对于窗口的位置,将对应坐标相加就是按键相对于桌面的大致位置了。
新窗口的位置会随着按键的位置而变化,但总是在按键的下方
from PyQt5.QtCore import *
from PyQt5.QtWidgets im...
目标:通过点击主窗口中的button弹出另一个窗口页面。
首先需要注意的是,两个窗口不能是同一类型,否则会崩溃,并保存为名称不同的ui文件,并使用UIC工具转成.py文件。
因此在目前文件夹中既有mainwindow又有dialog窗体形式的界面代码。(这一切都按照常规的操作来!!!没有变化!!!)
关键的地方是驱动函数main.py
1、将主窗口与子窗口各自实例化在parentWindo...
在PyQt5中,你可以使用`QPushButton`来创建一个按钮,然后为其添加单击事件的处理函数。在处理函数中,你可以使用`QDialog`来创建一个新的窗口,并将其显示出来。
以下是一个示例代码,其中有两个窗口,第一个窗口中有一个按钮,点击该按钮可以打开第二个窗口:
```python
from PyQt5.QtWidgets import QApplication, QDialog, QPushButton, QVBoxLayout
class Window1(QDialog):
def __init__(self):
super().__init__()
self.button = QPushButton('打开窗口2')
self.button.clicked.connect(self.open_window2)
layout = QVBoxLayout()
layout.addWidget(self.button)
self.setLayout(layout)
def open_window2(self):
window2 = Window2()
window2.exec_()
class Window2(QDialog):
def __init__(self):
super().__init__()
layout = QVBoxLayout()
layout.addWidget(QPushButton('这是窗口2'))
self.setLayout(layout)
if __name__ == '__main__':
app = QApplication([])
window1 = Window1()
window1.show()
app.exec_()
在这个示例代码中,`Window1`继承自`QDialog`,其中包含一个`QPushButton`,点击该按钮会调用`open_window2`方法,该方法中创建了一个新的`Window2`窗口,并将其显示出来。`Window2`同样继承自`QDialog`,其中包含一个`QPushButton`。
你可以将上述代码保存为一个`.py`文件,并运行该文件来查看效果。