python - 如何改变 QTableWidget 本身的位置
问题描述
如何更改 tableWidget 的位置?此方法不起作用:
self.tableWidget.move(100,100)
尝试了一些其他方法,如 self.tableWidget.x 和 self.tableWidget.y 但没有运气
这是我的代码:
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_())
解决方案
如果您想要手动定位,那么您不应该使用布局,而只是将窗口作为父窗口传递。
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(self)
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_())
推荐阅读
- wix - WIX 使用引导程序安装所需的软件。错误“提取失败”
- c# - ASP.NET Core 3.1 URL 参数返回不正确的参数值
- azure - 无法从 azure 应用服务连接到 management.azure.com
- python - 有人可以解释这种在 Python 中查找集合的所有子集的逻辑吗?
- c# - 为什么即使 Azure 函数并行运行,Azure Eventhub 批处理消息处理也比单个消息处理更快?
- c++ - 本地类的限定名称
- c++ - 需要帮助来编写一个小程序来乘以多达 n 个元素和 k 个多重性的循环
- c# - Rabbit MQ 错误:无法在节点“rabbit@USERNAME”上执行操作
- elasticsearch - 错误:无法找到或加载主类 org.elasticsearch.tools.java_version_checker.JavaVersionChecker
- c++ - 这些初始化有什么区别?