pyqt5 comboBox 问题

2018-12-25 17:33:13 +08:00
 Teyying

自己本来就是业余的新手,三个月前的练手项目,这两天打开要修改东西,忘了好多。我想把创建 comboBox 之后的代码换到另一个方法内,self.comboBox.activated[int].connect(self.connectComboBox)却不执行了。麻烦朋友帮看一下是什么原因:

def setupUi(self,parent): 
    widget = QWidget()
    widget.setObjectName('Ui_Chinese')
    parent.setCentralWidget(widget)

    self.comboBox = QComboBox(widget)
    self.comboBox.setGeometry(10, 200, 155, 25)
    self.comboBox.setView(QListView()) 
    self.comboBox.addItems(['选择题型', '汉字学习', '拼音学习', '故事阅读'])
    self.comboBox.activated[int].connect(self.connectComboBox)
    self.comboBox.setMaxVisibleItems(10)
    # 只想要以上代码,但是 self.comboBox.activated[int].connect(self.connectComboBox)没有进入槽函数

    self.scroll = QScrollArea(widget)
    self.vbar = self.scroll.verticalScrollBar() 
    self.frameData = QFrame()
    self.frameData.setObjectName('frameData')
    gridData = QGridLayout()
    self.frameData.setLayout(gridData)

    hanziData = json.load(open('chineseData.json', 'r', encoding='utf-8'))
    row = 0
    column = 0
    for hanzi in hanziData:
        btn = QPushButton(hanzi)
        btn.setFixedSize(100, 100)
        btn.clicked.connect(self.connectframeData(hanzi))
        gridData.addWidget(btn, row, column)
    # 我一句一句试着,结果是到这一句以上补上的话,
    # self.comboBox.activated[int].connect(self.connectComboBox)就执行槽函数,
    # 少了 gridData.addWidget(btn, row, column)这句都不行,后面的怎么添加都不影响。
        
        
        column += 1
        if column == 5:
            row += 1
            column = 0

    self.frameData.setMinimumSize(540, (row+1)*100)
    self.scroll.setGeometry(350, 200, 562, 430) 
    self.scroll.setWidget(self.frameData)       
    self.scroll.setAutoFillBackground(True)
    
def connectComboBox(self, index):
    if index == 1:
        print(1)
        # self.scroll.show()
        # self.frameControl.show()
    else:
        print(3)
        # self.scroll.hide()
        # self.frameControl.hide()
    if index == 2:
        print(2)

麻烦朋友们帮帮忙,三个月不弄这都快忘完了,谢谢大佬了,我就是一业余的。

1728 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/520899

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX