<div style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial"><div>While if I replace </div><div>button = QPushButton("Click me",clicked=say_hello)</div><div>with </div><div>button = QToolButton(triggered=say_hello)</div>then the slot won't be called , why ?<br><br><br><br><div style="position:relative;zoom:1"></div><div id="divNeteaseMailCard"></div><br><pre><br>At 2019-05-08 16:51:31, "Phil Thompson" <phil@riverbankcomputing.com> wrote:
>On 08/05/2019 09:07, Zhao Lee wrote:
>> I can connect slot to QPushButton's clicked signal in its constructor 
>> this way
>> button = QPushButton("Click me",clicked=say_hello)
>> It worked ! Test example as following:
>> 
>> 
>> import sys
>> from PyQt5.QtWidgets import *
>> def say_hello():
>>     print("Button clicked, Hello!")
>> # Create the Qt Application
>> app = QApplication(sys.argv)
>> # Create a button, connect it and show it
>> button = QPushButton("Click me",clicked=say_hello)
>> # button = QToolButton("Click me", clicked=say_hello)
>> # button.clicked.connect(say_hello)
>> button.show()
>> # Run the main Qt loop
>> app.exec_()
>> 
>> 
>> However , there seems no parameter named 'clicked' in QPushButton's
>> constructor as described in the doc  , what's the working mechanism
>> behind ? How do I know which parameters I could pass to the
>> constructor?
>
>https://www.riverbankcomputing.com/static/Docs/PyQt5/signals_slots.html#connecting-signals-using-keyword-arguments
>
>Phil
</pre></div><br><br><span title="neteasefooter"><p> </p></span>