我正在使用 pyqt5 和 QtDesigner 创建一个具有两个窗口的应用程序。主窗口“MainWindow.ui”上的按钮应该从文件“age_entry.ui”打开第二个窗口,但我似乎遗漏了一些东西。单击第一个表单上的按钮会产生此错误”:
异常“未处理的TypeError”QDialog(父:QWidget = None,标志:Union [Qt.WindowFlags,Qt.WindowType] = Qt.WindowFlags()):参数1具有意外类型'bool'
这是主窗口的代码:
# -*- coding: utf-8 -*-
import sys
from PyQt5 import uic, QtWidgets
Ui_MainWindow, QtBaseClass = uic.loadUiType("MainWindow.ui")
LandingPageUI, LandingPageBase = uic.loadUiType("age_entry.ui")
class MyApp(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self):
QtWidgets.QMainWindow.__init__(self)
Ui_MainWindow.__init__(self)
self.setupUi(self)
def showAgeEntryForm(self):
self.child_win = AgeEntryForm(self)
self.child_win.show()
self.btnOpenAges.clicked.connect(showAgeEntryForm)
class AgeEntryForm(LandingPageBase, LandingPageUI):
def __init__(self, parent=None):
LandingPageBase.__init__(self, parent)
self.setupUi(self)
if __name__ == "__main__":
app=QtWidgets.QApplication.instance()
if not app:
app = QtWidgets.QApplication(sys.argv)
window = MyApp()
window.show()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)
提前致谢!
这是代码形式的MainWindow和age_entry文件:
# -*- coding: utf-8 -*-
# …Run Code Online (Sandbox Code Playgroud) 我在 PyQt5 和 Qt Designer 中使用 QTableWidget 来创建数据输入表。我想要的是一种简单的方法,使“Enter”keyPressEvent 在表格中移动,就像按下 Tab 按钮一样。以下代码捕获 Enter 键按下事件。如何让它移动光标?
def keyPressEvent(self, ev):
if ev.key() in (QtCore.Qt.Key_Return, QtCore.Qt.Key_Enter):
print("Enter key pressed")
Run Code Online (Sandbox Code Playgroud)