如何更改 QTableWidget 本身的位置
How to change the position of the QTableWidget itself
如何更改 table 小部件的位置?此方法无效:
self.tableWidget.move(100,100)
尝试了一些其他方法,例如 self.tableWidget.x 和 self.tableWidget.y,但没有成功
table的屏幕截图:
这是我的代码:
import sys
from PyQt5.QtGui import *
from PyQt5.QtCore import Qt, pyqtSlot
from PyQt5.QtWidgets import *
#Main Window
class App(QWidget):
def __init__(self):
super().__init__()
self.title = 'PyQt5 - QTableWidget'
self.left = 200
self.top = 100
self.width = 740
self.height = 880
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.createTable()
self.layout = QVBoxLayout()
self.layout.addWidget(self.tableWidget)
self.setLayout(self.layout)
self.show()
def createTable(self):
self.tableWidget = QTableWidget()
self.tableWidget.setRowCount(8)
self.tableWidget.setColumnCount(8)
self.tableWidget.setFixedSize(700,700)
self.tableWidget.move(100,100)
self.tableWidget.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
self.tableWidget.horizontalHeader().setStretchLastSection(True)
self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
self.tableWidget.verticalHeader().setStretchLastSection(True)
self.tableWidget.verticalHeader().setSectionResizeMode(QHeaderView.Stretch)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())
如果您想要手动定位,那么您应该不使用布局,而只是将 window 作为父级传递。
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QHeaderView, QTableWidget, QWidget
# Main Window
class App(QWidget):
def __init__(self):
super().__init__()
self.title = "PyQt5 - QTableWidget"
self.left = 200
self.top = 100
self.width = 740
self.height = 880
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.createTable()
def createTable(self):
self.tableWidget = QTableWidget(<b>self</b>)
self.tableWidget.setRowCount(8)
self.tableWidget.setColumnCount(8)
self.tableWidget.setFixedSize(700, 700)
self.tableWidget.move(100, 100)
self.tableWidget.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
self.tableWidget.horizontalHeader().setStretchLastSection(True)
self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
self.tableWidget.verticalHeader().setStretchLastSection(True)
self.tableWidget.verticalHeader().setSectionResizeMode(QHeaderView.Stretch)
if __name__ == "__main__":
app = QApplication(sys.argv)
ex = App()
ex.show()
sys.exit(app.exec_())
如何更改 table 小部件的位置?此方法无效:
self.tableWidget.move(100,100)
尝试了一些其他方法,例如 self.tableWidget.x 和 self.tableWidget.y,但没有成功
table的屏幕截图:
这是我的代码:
import sys
from PyQt5.QtGui import *
from PyQt5.QtCore import Qt, pyqtSlot
from PyQt5.QtWidgets import *
#Main Window
class App(QWidget):
def __init__(self):
super().__init__()
self.title = 'PyQt5 - QTableWidget'
self.left = 200
self.top = 100
self.width = 740
self.height = 880
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.createTable()
self.layout = QVBoxLayout()
self.layout.addWidget(self.tableWidget)
self.setLayout(self.layout)
self.show()
def createTable(self):
self.tableWidget = QTableWidget()
self.tableWidget.setRowCount(8)
self.tableWidget.setColumnCount(8)
self.tableWidget.setFixedSize(700,700)
self.tableWidget.move(100,100)
self.tableWidget.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
self.tableWidget.horizontalHeader().setStretchLastSection(True)
self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
self.tableWidget.verticalHeader().setStretchLastSection(True)
self.tableWidget.verticalHeader().setSectionResizeMode(QHeaderView.Stretch)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())
如果您想要手动定位,那么您应该不使用布局,而只是将 window 作为父级传递。
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QHeaderView, QTableWidget, QWidget
# Main Window
class App(QWidget):
def __init__(self):
super().__init__()
self.title = "PyQt5 - QTableWidget"
self.left = 200
self.top = 100
self.width = 740
self.height = 880
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.createTable()
def createTable(self):
self.tableWidget = QTableWidget(<b>self</b>)
self.tableWidget.setRowCount(8)
self.tableWidget.setColumnCount(8)
self.tableWidget.setFixedSize(700, 700)
self.tableWidget.move(100, 100)
self.tableWidget.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
self.tableWidget.horizontalHeader().setStretchLastSection(True)
self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
self.tableWidget.verticalHeader().setStretchLastSection(True)
self.tableWidget.verticalHeader().setSectionResizeMode(QHeaderView.Stretch)
if __name__ == "__main__":
app = QApplication(sys.argv)
ex = App()
ex.show()
sys.exit(app.exec_())