私はpyqtで小さな例を書きました。最初にテキストを描画し、その下に 3 つのボタンを追加します。ただし、ボタンの下には若干のスペースがあります。それらのスペースを削除するには?
試してみaddStrech(1)
ましたが、テキストが消えてしまいました。
これが私のコードです:
import sys
from PyQt4 import QtGui, QtCore
class CardWidget(QtGui.QWidget):
def __init__(self):
super(CardWidget, self).__init__()
self.initUI()
def initUI(self):
lButton = QtGui.QPushButton("left")
mButton = QtGui.QPushButton("middle")
rButton = QtGui.QPushButton("right")
sometext = DrawText()
hbox = QtGui.QHBoxLayout()
hbox.addWidget(lButton)
hbox.addStretch(1)
hbox.addWidget(mButton)
hbox.addStretch(1)
hbox.addWidget(rButton)
WButton = QtGui.QWidget()
WButton.setLayout(hbox)
vbox = QtGui.QVBoxLayout()
vbox.addWidget(sometext)
vbox.addStretch(1)
vbox.addWidget(WButton)
self.setLayout(vbox)
self.setGeometry(300, 300, 480, 370)
self.setWindowTitle('Flashcards')
self.show()
class DrawText(QtGui.QWidget):
def __init__(self):
super(DrawText, self).__init__()
self.initUI()
def initUI(self):
self.text = 'some text'
self.setGeometry(0, 0, 200, 400)
#self.setWindowTitle('Draw text')
self.show()
def paintEvent(self, event):
qp = QtGui.QPainter()
qp.begin(self)
self.drawText(event, qp)
qp.end()
def drawText(self, event, qp):
qp.setPen(QtGui.QColor(168, 34, 3))
qp.setFont(QtGui.QFont('Decorative', 10))
qp.drawText(event.rect(), QtCore.Qt.AlignCenter, self.text)
def main():
app = QtGui.QApplication(sys.argv)
ex = CardWidget()
sys.exit(app.exec_())
if __name__ == '__main__':
main()