标签: qpushbutton

在QMenuBar的另一侧堆叠QPushButtons

我想在我QPushButton的另一边堆叠一些物体QMenuBar.

这就是我的窗口现在的样子: 看起来如何

这就是我希望它看起来的样子(我已经拍摄了图片): 我多么希望它看起来

我知道在motif小部件样式中,帮助菜单与右侧对齐,但我坚持plastique,所以这对我来说不是问题.

我正在使用Qt4.8.有任何想法吗?

qt qt4 qmenubar qt4.8 qpushbutton

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

Qt - Windows 7基本主题下禁用的QPushButton的样式表

我可以改变字体和字体颜色一的QPushButton使用样式表.问题是在旧的Windows主题下,禁用的按钮显示阴影字体,但我不知道如何通过StyleSheets摆脱这个阴影前面.任何人都可以建议你的想法.提前致谢.

qt4 qt4.7 qt4.8 qtstylesheets qpushbutton

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

如何设置影响按钮大小的 QPushButton 样式表?

当我 QApplication::setStyleSheet() 使用以下样式表时

QPushButton {
    border-radius: 2px;
    padding: 0.2em 0.2em 0.3em 0.2em;
    border: 1px solid rgb(100, 100, 100);
    background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                                  stop:0 #f4f4f4, stop:0.1 #8F8F8F, stop:1  #7B7B7B);
    color: white;
}
Run Code Online (Sandbox Code Playgroud)

所有按钮的大小都被截断为文本的大小。例如,OK 按钮变成方形。效果与我在 QPushButton 上尝试的任何其他样式表相同。如何设置按钮样式表而不影响其默认大小?

qt stylesheet qtstylesheets qpushbutton

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

在qpushbutton上设置图标

我知道,这是一个初学者的问题,但我必须尝试用goolge/stackoverflow解决它,但我没有找到一个好的答案.问题是,我想在qpushbutton中添加一个图标.但它不起作用/找不到文件?!,问题出在哪里?

...轮廓

[...]OTHER_FILES += \
Readme.txt \
icons/newFolder.png \
icons/newFile.png 
Run Code Online (Sandbox Code Playgroud)

class.cpp

//toolbar
QToolBar *tool = new QToolBar();
QPushButton *btn = new QPushButton();
btn->setIcon(QIcon(":/icons/newFile.png"));

tool->addWidget(btn);
addToolBar(tool);
Run Code Online (Sandbox Code Playgroud)

最好的问候:D克里斯

c++ qt qpushbutton

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

qt 如何知道一个按钮被点击了?

我正在尝试做一个程序,用声音进行一些操作。我的问题是我有 3 个播放按钮和 3 个标签。我想要无论我单击“播放”按钮的哪个,都应该播放名称在按钮附近标签中的声音。我有一个没有任何参数的播放插槽。那么,我如何分别连接到每个标签的每个播放按钮?其实我可以写3个不同的播放函数,但是因为我还有一些其他的函数,所以会太长和混乱。另外,我需要 3 个播放按钮,因为我想同时播放 3 个声音。

c++ qt qt-designer qpushbutton visual-studio-2013

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

如何在Qt中的QGridLayout中设置QPushButton大小

我目前正在学习qt。我正在尝试构建一个带有81的小型GUI程序QPushButton
我想将这些按钮设置为9行9列。我认为可以实现此布局的最佳方法是使用QGridLayout
运行后的样子如下:
在此处输入图片说明

我尝试了多种更改按钮大小的方法,但是按钮大小仍然保持默认。
这是我的代码:

void MainWindow::setButtons()
{
    const QSize btnSize = QSize(50, 50);
    for(int i = 0; i < 81; i++) {
        btn[i] = new QPushButton(centralWidget);
        btn[i]->setText(QString::number(i));
        btn[i]->resize(btnSize);
    }

    QGridLayout *btnLayout = new QGridLayout(centralWidget);
    for(int i = 0; i < 9; i++) {
        for(int j = 0; j < 9; j++) {
            btnLayout->addWidget(btn[j + i * 9], 0 + i, j);
            btnLayout->setSpacing(0);
        }
    }
    centralWidget->setLayout(btnLayout);
}
Run Code Online (Sandbox Code Playgroud)

那么我该怎么做才能真正更改这些按钮的大小?
谢谢。

c++ qt qgridlayout qt5 qpushbutton

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

在 PyQT5 中访问动态创建的按钮

先生们。

我有非常简单的 PyQT5 应用程序。我动态创建了按钮并连接到某些功能。

    class App(QWidget):
        ...
        def createButtons(self):
            ...
            for param in params:
                print("placing button "+param)
                button = QPushButton(param, checkable=True)
                button.clicked.connect(lambda: self.commander())
Run Code Online (Sandbox Code Playgroud)

我有指挥官方法:

   def commander(self):
       print(self.sender().text())
Run Code Online (Sandbox Code Playgroud)

所以我可以访问单击的按钮。但是如果我想访问以前点击过的按钮怎么办?还是主窗口中的另一个元素?怎么做?

我想要的是:

    def commander(self):
        print(self.sender().text())
        pressedbutton = self.findButtonByText("testbutton")
        pressedbutton.setChecked(False)
Run Code Online (Sandbox Code Playgroud)

或者

        pressedbutton = self.findButtonBySomeKindOfID(3)
        pressedbutton.setChecked(False)
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!

python qpushbutton pyqt5

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

在 PyQt4 中检查 QPushButton 的状态?

我想写一个if条件作为QPushButton. if如果按钮已启用,我想执行。那么,我如何检查按钮的状态。

代码:

self.pushButton = QtGui.QPushButton()
self.pushbutton.setEnabled(False)
Run Code Online (Sandbox Code Playgroud)
self.pushbutton.setEnabled(False) ##some where in the another class I have enabled it this line will not be executed all the time,so I want the check state.
Run Code Online (Sandbox Code Playgroud)
if self.pushbutton.checkstate() == Enabled:  ##??? How to write this condition?
    some code I want to execute
Run Code Online (Sandbox Code Playgroud)

python pyqt4 qpushbutton

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

如何使用 Qt 实现三态按钮

我需要创建一个具有三种状态的按钮:

  • 未点击
  • 中间的
  • 点击

我想用这个按钮实现的逻辑是,每当这个按钮被点击时,我希望系统进入中间状态并等待一个事件。

在其他的方式,当状态转变unclicked --> intermediate -- > clicked,然后clicked --> intermediate -->unclicked

Qt 支持实现这种按钮吗?如果是这样,如何?

c++ user-interface qt tri-state-logic qpushbutton

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

循环创建 PyQt5 按钮:所有按钮触发相同的回调

我应该提到我已经阅读了这些但我仍然无法实现我的目标:

[在 for 循环中使用字典来创建按钮不起作用

[ QtCore.QObject.connect 在循环中只影响最后一个实例

我的目标是制作一个 linux 'launcher' 应用程序。按钮创建、放置等工作就像一个魅力,但有一个问题 - 所有按钮触发相同的回调 - 最后一个在按钮创建循环中连接。

这是脚本的基本版本,用于说明我正在尝试执行的操作:

class App(QMainWindow):

    def launch(self, filepath):
        subprocess.run(filepath)


    def __init__(self):
        super(App, self).__init__()

        for btn in matrix:

            filepath = matrix[btn]['path']
            icon = matrix[btn]['setIcon']
            posx = matrix[btn]['posx']
            posy = matrix[btn]['posy']

            matrix[btn] = QToolButton(self)
            matrix[btn].setIcon(QIcon(icon))
            matrix[btn].setIconSize(QSize(64, 64))
            matrix[btn].resize(100, 100)
            matrix[btn].move(posx, posy)
            matrix[btn].clicked.connect(lambda launch: self.launch(filepath))

        self.initUI()


    def initUI(self):

        self.setGeometry(150, 150, 1250, 650)
        self.setWindowTitle('LinuxLauncher')

        self.show()


    if __name__ == '__main__':

        app = QApplication(sys.argv)
        ex = App()
        sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

我知道有一个答案,但我已经研究了几个小时 - 我很感激有人能帮我解决这个问题 - …

python linux pyqt qpushbutton pyqt5

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