2012-08-02 11 views
1
#!!/usr/bin/python 

# Qt modules 
from PyQt4 import QtCore, QtGui 
import sys 

class gui(QtGui.QDialog): 
    def __init__(self, parent=None): 
     QtGui.QDialog.__init__(self, parent) 

     self.setWindowTitle('Grid of buttons') 
     self.resize(450, 300) 


#------------------------------------------------------------------------------ 
#  WIDGETS 
#------------------------------------------------------------------------------ 

     self.grid = QtGui.QGridLayout() 

     btnNum = 1 
     columnCount = 0 
     rowCount = 0 

     while btnNum != 26: 
      button = QtGui.QPushButton(str(btnNum)) 
      self.grid.addWidget(button, rowCount, columnCount) 
      btnNum += 1 

      if columnCount == 4: 
       columnCount = 0 
       rowCount += 1 
      else: 
       columnCount += 1 

#------------------------------------------------------------------------------ 
#  LAYOUT 
#------------------------------------------------------------------------------ 
     self.idChannelGroup = QtGui.QGroupBox("My Button Layout") 
     self.idChannelGroup.setLayout(self.grid) 

     self.mainLayout = QtGui.QVBoxLayout() 
     self.mainLayout.addWidget(self.idChannelGroup) 

     self.setLayout(self.mainLayout) 

def main(): 

    app = QtGui.QApplication(sys.argv) 
    ex = gui() 
    ex.show() 
    sys.exit(app.exec_()) 

if __name__ == '__main__': 
    main() 

大家好...我有兩個關於使用QPushButton的問題。我對Qt相當陌生,所以我提前道歉,如果這些看起來有點愚蠢......我怎麼能保持一個QPushbutton選擇,然後找到什麼是在一個網格按鈕(pyQt)

首先,有什麼辦法讓QPushButton保持壓抑狀態,即保持選中?

其次,查詢所有的按鈕,並找出哪個按鈕是目前選定的按鈕?假設它會在另一個按鈕被點擊時釋放?所以只會選擇一個按鈕。

任何幫助將是偉大的。謝謝。

乾杯

回答

3

首先,是否有任何方式來保持QPushButton鬱悶即保持選定?

是的,你讓它'可以檢查'(setCheckable(true)),它在'檢查'時'下'。

...所以只會選擇一個按鈕。

爲此,只需將您的按鈕添加到QButtonGroup。它默認是獨佔的,所以點擊一個會解除其他任何壓力。

相關問題