0
Maigcally我不能使用的PyQt 4從QWidget中繼承:如何在PyQt中繼承QWidget?
from PyQt4.QtGui import QApplication, QMainWindow, QWidget
class MyWidget(QWidget):
pass
if __name__ == "__main__":
app = QApplication([])
window = QMainWindow()
window.resize(200, 200)
widget1 = MyWidget(window)
widget1.resize(100, 100)
widget1.setStyleSheet("background-color:#FFFFFF")
window.show()
app.exec_()
它不工作。我只是看不到小部件。但是,使用QLabel而不是QWidget的作品。
謝謝。
解決方案
重新實現的paintEvent:
class MyWidget(QWidget):
def paintEvent(self, event):
o = QStyleOption()
o.initFrom(self)
p = QPainter(self)
self.style().drawPrimitive(QStyle.PE_Widget, o, p, self)
如何你的意思是不行嗎?有錯誤嗎?窗口不出現?你需要更具描述性。 – 2013-10-14 00:39:25
窗口小部件不會出現在窗口內部。 – cdonts
你可以附上區別截圖嗎?根據你的代碼,儘管你聲明瞭DnDWidget的父類,但你實際上並不把它放在窗口中,所以我希望它不會顯示出來。 – 2013-10-14 01:16:19