gpt4 book ai didi

python - PyQt4:QWidget 和 QMainWindow 的区别

转载 作者:IT老高 更新时间:2023-10-28 20:54:32 25 4
gpt4 key购买 nike

阅读 PyQt4 教程时,有时示例使用 QtGui.QMainWindow,有时使用 QtGui.QWidget

问题:您如何判断何时使用哪个?

import sys
from PyQt4 import QtGui


class Example(QtGui.QMainWindow):

def __init__(self):
super(Example, self).__init__()

self.initUI()

def initUI(self):

self.statusBar().showMessage('Ready')

self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Statusbar')
self.show()


def main():

app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())


if __name__ == '__main__':
main()

另一个代码示例:

import sys
from PyQt4 import QtGui, QtCore

class Example(QtGui.QWidget):

def __init__(self):
super(Example, self).__init__()

self.initUI()

def initUI(self):

cb = QtGui.QCheckBox('Show title', self)
cb.move(20, 20)
cb.toggle()
cb.stateChanged.connect(self.changeTitle)

self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('QtGui.QCheckBox')
self.show()

def changeTitle(self, state):

if state == QtCore.Qt.Checked:
self.setWindowTitle('QtGui.QCheckBox')
else:
self.setWindowTitle('')

def main():

app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())


if __name__ == '__main__':
main()

最佳答案

QMainWindow 是一个理解 GUI 元素的类,例如

  • 工具栏,
  • 状态栏,
  • 中央小部件,
  • 停靠区。

QWidget 只是一个原始小部件。

如果你想为你的项目创建一个主窗口,请使用 QMainWindow

如果你想创建一个对话框(模态对话框),使用QWidget,或者,更好的是,QDialog

关于python - PyQt4:QWidget 和 QMainWindow 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18897695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com