如何在 qvboxlayout 中移动小部件

问题描述

我正在创建一个频率表计算器。我想移动一个添加到布局中的 tablewidget。现在我已经在 qwidget 中设置了布局并显示了它。当我尝试使用 qwidget 移动布局时。它给了我错误X = ds['text'].astype(str) + ' ' + ds['count'].astype(str)

我知道 QVBoxLayout 不能独立移动。所以我尝试将 QVBoxLayout 嵌入到 QWidget 中,但它仍然不起作用。

move(self,int,int): argument 1 has unexpected type 'QVBoxLayout'

为什么布局很重要

from statistics import mode
import sys
from functools import cached_property
from PyQt5 import QtWidgets
from PyQt5 import QtCore
from PyQt5.QtWidgets import QLabel,QWidgetItem
from PyQt5.QtCore import QObject,pyqtSignal
from PyQt5.QtWidgets import QPushButton,QApplication,QTableWidget,QTableWidgetItem,QVBoxLayout,QWidget
from pynput.keyboard import Listener,KeyCode

a = KeyCode(char="a")

def getSelectedItemData():
    for currentItem in tableWidget.selectedItems():
        print(f"ROw : {currentItem.row()} Column : {currentItem.column()} {currentItem.text()}")


app = QApplication(sys.argv)

qwidget = QWidget()

qwidget.setwindowTitle("Python GUI Table")
qwidget.resize(412,597)

layout = QVBoxLayout()

tableWidget = QTableWidget()
tableWidget.setColumnCount(2)
tableWidget.setRowCount(0)

# adding item in table
tableWidget.setHorizontalHeaderItem(0,QTableWidgetItem("scores"))
tableWidget.setHorizontalHeaderItem(1,QTableWidgetItem("Frquency"))
tableWidget.setHorizontalHeaderItem(2,QTableWidgetItem("FX"))
tableWidget.setItem(0,QTableWidgetItem(""))
tableWidget.setItem(0,1,2,QTableWidgetItem(""))

tableWidget.setItem(1,QTableWidgetItem(""))
tableWidget.setItem(1,QTableWidgetItem(""))

tableWidget.setItem(2,QTableWidgetItem(""))
tableWidget.setItem(2,QTableWidgetItem(""))

tableWidget.setItem(3,QTableWidgetItem(""))
tableWidget.setItem(3,QTableWidgetItem(""))

#formating table
header=tableWidget.horizontalHeader()       
header.setSectionResizeMode(0,QtWidgets.QHeaderView.Stretch)
header.setSectionResizeMode(1,QtWidgets.QHeaderView.Stretch)

#initialzing table
tableWidget.doubleClicked.connect(getSelectedItemData)
layout.addWidget(tableWidget)
qwidget.move(layout,200,400)
qwidget.show()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)