class MyWindow(QtWidgets.QMainWindow,Ui_MainWindow):
def __init__(self):
super(MyWindow,self).__init__()
self.setupUi(self)
def slot1(self):
self.textEdit.setText("hello 111")
def openDialog(self):
self.dlg = my_Dialog()
self.dlg.exec_()
#pyqt5下,dialog用exec_()方法
def openWidget(self):
#self.hide()
self.wid = my_widgets()
self.wid.show()
#pyqt5下,widgets用show()方法
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
mainWindow = MyWindow()
mainWindow.show()
sys.exit(app.exec_())
1 pyqt5下,dialog用exec_()方法,widget用show()方法;
2 引用UI文件类及其函数定义的时候,注意类的名字不要搞混了:
class MyWindow(QtWidgets.QMainWindow,Ui_MainWindow)
实例化类名(继承的qt类,自己编辑的类)
@[TOC](
PyQT
5 主
窗口
打开
新窗口
(帮助文档))
在学习基于
PyQt
5写软件界面的帮助文档时,帮助文档或按钮
弹
出的
新窗口
界面想实现的QMessageBox的效果。即
弹
出的界面不关闭则不能操作主
窗口
,因为对Python和
PyQt
5并不是很熟悉,所以废了一番周折,查帮助文档 QMessageBox 继承自 QDialog,那么如果界面继承自 QDialog 可否实现 呢? 貌似是可以的!
界面UI转py
首先基于Qt Designer 制作一个主界面和一个帮助
窗口
并转成.py
主界面UI
在按键处显示
窗口
,关键之处在于获取按键在桌面的位置。我们可以先通过self.x()/self.y()获取
窗口
相对于桌面的位置,然后在获取按键相对于
窗口
的位置,将对应坐标相加就是按键相对于桌面的大致位置了。
新窗口
的位置会随着按键的位置而变化,但总是在按键的下方
from
PyQt
5.QtCore import *
from
PyQt
5.QtWidgets im...
目标:通过点击主
窗口
中
的button
弹
出另一个
窗口
页面。
首先需要注意的是,两个
窗口
不能是同一类型,否则会崩溃,并保存为名称不同的ui文件,并使用UIC工具转成.py文件。
因此在目前文件夹
中
既有mainwindow又有dialog窗体形式的界面代码。(这一切都按照常规的操作来!!!没有变化!!!)
关键的地方是驱动函数main.py
1、将主
窗口
与子
窗口
各自实例化在parentWindo...