非常困惑,我已经查看了其他多个堆栈溢出页面:
class launcherWidget( QMainWindow ) :
def __init__(self) :
QMainWindow.__init__(self)
self.setWindowTitle("Scouting Software Launcher")
#self.setGeometry(100, 100, 100, 100)
self.table = QTableWidget()
self.table.setColumnCount(3)
self.table.setHorizontalHeaderLabels(["Save Name", "Mod Date","Creation Date"])
self.table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
#self.layout = QHBoxLayout()
#self.layout.addWidget(self.table)
#self.setLayout(self.layout)
self.table.setSelectionBehavior(QAbstractItemView.SelectRows)
self.table.verticalHeader().setVisible(False)
self.fill_table_with_list([["savename","mod date","creat"],["c","b","a"]])
#self.table.resize(100,100)
self.table.setGeometry( QRect( 50, 50, 100, 100 ) )
#self.table.move(50,50)
#self.show()
self.b0 = QPushButton("New")
self.b0.clicked.connect(self.newClicked)
#self.layout.addWidget(self.b0,)
#self.b0.move(0,0)
self.b1 = QPushButton("Rename")
self.b1.clicked.connect(self.renameClicked)
#self.layout.addWidget(self.b1)
#self.b1.move(300,500)
def newClicked(self) :
print("placeholder")
def renameClicked(self):
r = self.table.currentRow()
savename = str( self.table.item(r,0).text() )
def fill_table_with_list (self, data=[[]]) :
for row in reversed(data) :
saveName = QTableWidgetItem(row[0])
modDate = QTableWidgetItem(row[1])
creaDate =QTableWidgetItem(row[2])
self.table.insertRow(0)
self.table.setItem(0, 0, saveName)
self.table.setItem(0, 1, modDate)
self.table.setItem(0, 2, creaDate)
@Slot()
def exit_app(self, checked):
QApplication.quit()
def onLaunch () :
app = QApplication(sys.argv)
window = launcherWidget() # screen = before change
#window.resize(500, 300) #can always be fullscreened
window.resize(1820,980)
window.show()
sys.exit(app.exec_())
if __name__ == "__main__":
onLaunch()
尝试使用绝对定位,我无法显示我的桌子,我得到的只是一个空白的窗口。我希望不必使用布局,但是到目前为止,这似乎是显示表格和按钮的唯一方法。我已注释掉的所有内容都是尝试使其起作用。 table.show()似乎只是在单独的窗口中显示表。 .move()似乎无能为力,最近尝试了setGeometry(),该方法也不起作用。我什至没有尝试过显示按钮,我无法想象会得到不同的结果。我首先以为我的座标错了,但是我经历了反复试验才能排除其中一个
答案 0 :(得分:1)
TL; DR; 作为窗口小部件的父级传递到窗口
如果一个小部件是该小部件的儿子,则在另一个小部件上绘制一个小部件,在您的情况下,无论是QTableWidget还是QPushButton都不是,如果布局除了处理位置和大小,它们也将作为小部件的父级它处理放置在其上的小部件。
l