标签: qpushbutton

抓取 PyQt Python ui 文件中的所有 QPushButton

我使用 Qt Designer 创建了一个包含大量 QPushButton 的 UI 文件,然后使用 pyuic4 将其转换为 python 文件。

我想将所有 QPushButton 添加到 QButtonGroup 中。

如何迭代或获取所有 QPushButtons 以从 UI Python 文件添加到 QButtonGroup 中?

python loops pyqt qpushbutton

2
推荐指数
1
解决办法
1332
查看次数

如何在QGridLayout中获取窗口小部件的行/列位置?

我创建了一个自己的GridPushButton类来存储gridlayout中的按钮位置.父母是QPushButton.我在窗口询问它的x和y坐标时有问题(比如x:654,y:768).我以为它将继承自基类,但事实并非如此.现在我有两个选择:

  1. 使用原始QPushButton类并以某种方式获得它在gridlayout中的位置(如x:0,y:1,如果它在第一行和第二列)或

  2. 使用我的GridPushButton并以某种方式获取窗口中的x和y坐标.

    class GridPushButton : public QPushButton
    {
    Q_OBJECT
    public:
      GridPushButton(int coordX, int coordY, QWidget *parent = 0);
      int coordinateX() { return _coordX; }
      int coordinateY() { return _coordY; }
    
    protected:
      int _coordX;
      int _coordY;
    };
    
    Run Code Online (Sandbox Code Playgroud)

这是我的班级.我试图创建一个新的私有变量并给它QPushButton::x(),但不起作用.有没有想过从父母那里获得x和y坐标?或者想知道QPushButtons在GridLayout中获得该职位的想法?

qt qpushbutton

2
推荐指数
1
解决办法
4555
查看次数

QPushButton QGridLayout的单元格高度的100%

qroupBoxButtons = new QGroupBox();  
QGridLayout *layout = new QGridLayout;  

pushButtonPlus = new QPushButton( tr( "+" ) );  
layout -> addWidget( pushButtonPlus, 1, 1 );  
/* add another elements to layout */  
layout -> setColumnStretch( 1, 25 );  
/* set column stretch to other columns */  
qroupBoxButtons -> setLayout( layout );  
/* add qroupBoxButtons to another QGroupBox's layout  
Run Code Online (Sandbox Code Playgroud)

我正在尝试像这样设置100%的高度:

pushButtonPlus -> setStyleSheet( " QPushButton { height: 100%; } " );  
Run Code Online (Sandbox Code Playgroud)

要么:

pushButtonPlus -> setSizePolicy( QSizePolicy::Ignored, QSizePolicy::Ignored );
Run Code Online (Sandbox Code Playgroud)

但这不正常。按钮始终具有100%的宽度,只有标准高度。当窗口调整大小时,它保持在一个高度。

如何在不使用resize事件的情况下设置100%的高度?

height qt qgridlayout qpushbutton

2
推荐指数
1
解决办法
1290
查看次数

如何在 QLineEdit 和 QPushButton 中仅设置边框一侧的样式表?

我尝试手动创建组合框。因此,行编辑应与(下拉)按钮结合使用。因此我想隐藏行编辑的右边框和按钮的左边框。

我尝试过这个:

myLineEdit->setStyleSheet("QLineEdit{border-right: none;}");
myPushButton->setStyleSheet("QPushButton{border-left:none;}");
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

myLineEdit->setStyleSheet("QLineEdit{border: 1px 1px 0px 1px;}");
Run Code Online (Sandbox Code Playgroud)

但两者都不起作用。我哪里错了?

css stylesheet qlineedit qpushbutton

2
推荐指数
1
解决办法
9678
查看次数

Qt - 获取QPushButton图标名称

我有两个状态QPushButton.我想将图标与每个州相关联.

就像音乐播放器中的播放|暂停按钮一样.

为此,我想获取当前的图标名称,以便知道下一个要设置的图标是什么.

我可以继承QPushButton,但它值得吗?

c++ icons qt qpushbutton

1
推荐指数
1
解决办法
2147
查看次数

如何使用 TAB 键聚焦两个 qpushbutton 之一

在一个小部件中,我放了两个 QPushButton(让我们说左边的“OK”和右边的“EXIT”)。当我使用鼠标按下它们时,它们会定期工作。假设我想使用 TAB 键从一个切换到另一个:这可能吗?怎么能做到这一点?

qt qpushbutton

1
推荐指数
1
解决办法
1825
查看次数

Qt 自定义 QPushButton 点击​​信号

我想发送两个整数,string 和 fret,到一个 SLOT,它将处理被按下的按钮的位置。SIGNAL 和 SLOT 参数必须匹配,所以我想我需要重新实现 QPushButton::clicked 事件方法。问题是我是 Qt 的新手,可以使用一些指导。

connect(&fretBoardButton[string][fret], SIGNAL(clicked()), this, SLOT     (testSlot()));
Run Code Online (Sandbox Code Playgroud)

c++ qt qt-signals qpushbutton

1
推荐指数
1
解决办法
6853
查看次数

除非编辑字段不为空,否则如何禁用按钮?

我有一个 QLineEdit 字段和一个 QPushButton。只要 QLineEdit 为空,就应该禁用该按钮。

怎么做?

python qt pyside qlineedit qpushbutton

1
推荐指数
1
解决办法
6284
查看次数

PyQt5 按钮 lambda 变量变为布尔值

当我运行下面的代码时,它显示如下。为什么 x 不是“x”而是变成布尔值?这种情况仅发生在传递到用 lambda 调用的函数中的第一个参数上。

假 y /home/me/model/some_file

from PyQt5.QtWidgets import QPushButton
modelpath = '/home/me/model'
filelist = os.listdir(modelpath)
x = 'x'
y = 'y'
def HelloWidget(QWidget):
    def __init__(self):
        for file in filelist:
            button = QPushButton(file)
            button.clicked.connect(lambda x=x,y=y,file=file: self.myfunction(x,y,file)

    def myfunction(self,x,y,file):
        print(x)
        print(y)
        print(file)
Run Code Online (Sandbox Code Playgroud)

python lambda qpushbutton pyqt5

1
推荐指数
1
解决办法
1514
查看次数

PyQt5:查找点击了哪个QPushButton

我有多个按钮,想知道单击了哪个按钮。我已经发现了错误,并且知道该sender()函数必须QWidget与类对象一起使用,但我无法找出解决方案。

from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):

    def setupUi(self, MainWindow):
        """Widget code here"""
        self.btn1 = QtWidgets.QPushButton(self.widget)
        """Button properties here"""
        self.btn1.setObjectName("btn1")
        self.btn1.clicked.connect(self.btnListener)

        self.btn2 = QtWidgets.QPushButton(self.widget)
        self.btn2.setObjectName("btn2")
        self.btn2.clicked.connect(self.btnListener)

        """..... more buttons"""

    def btnListener(self):
        sender_button = self.sender() # Error Ui_MainWindow has no attribute sender
        print(sender_button)

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

python qpushbutton pyqt5

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

qpushbutton ×10

qt ×6

python ×4

c++ ×2

pyqt5 ×2

qlineedit ×2

css ×1

height ×1

icons ×1

lambda ×1

loops ×1

pyqt ×1

pyside ×1

qgridlayout ×1

qt-signals ×1

stylesheet ×1