标签: qpushbutton

如何设置QPushButton的选中状态以去除灰点?

我使用的是Qt 5.3.0.当我在QPushButton的选中状态上应用一些背景颜色时,按钮将在选中时用灰色点(我想要的背景颜色)填充.

这是一个很小的测试程序(使用qtcreator,但它也可以通过编码完成):1,创建一个qt应用程序2,拖入QPushButton,将其设置为flat并检查3,在w.show()之前添加这些行

w.setStyleSheet("\
                QPushButton {   \
                    color:white;    \
                }   \
                QPushButton:checked{\
                    background-color: rgb(80, 80, 80);\
                }\
                QPushButton:hover{  \
                    background-color: grey; \
                    border-style: outset;  \
                }  \
                ");
Run Code Online (Sandbox Code Playgroud)

4,运行应用程序并检查按钮

你会看到按钮变成了点缀但是我需要选中的按钮是纯色的rgb(80,80,80).我错过了什么?

css windows qt stylesheet qpushbutton

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

Qt升级后,QPushButton有重复的文本

我有一个使用Qt Creator用C++编写的Android应用程序.

Qt版本升级后(从4.85.4)我发现了一个奇怪的行为:所有QPushButton都有重复的文本标签,一个位于正确位置,另一个位置偏移了一点.此行为可以在Acer Iconia Tab A700上观察到,但在其他设备(Samsung Galaxy Tab)上则无法观察到.

问题的插图

我在QT Creator中创建了一个全新的QDialog菜单,只使用了图形编辑器,但它显示了同样的东西.

别人是否观察过同样的事情?我在Qt中很新,并且不知道如何解决这个问题......

编辑

以下是一些片段:

mydialog.ui

    <widget class="QPushButton" name="startButton">
     <property name="sizePolicy">
      <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
       <horstretch>0</horstretch>
       <verstretch>0</verstretch>
      </sizepolicy>
     </property>
     <property name="text">
      <string>Start</string>
     </property>
     <property name="default">
      <bool>true</bool>
     </property>
    </widget>
Run Code Online (Sandbox Code Playgroud)

ui_mydialog.h

public:
  QPushButton *startButton;
  QPushButton *stopButton;
...
void setupUi(QDialog *MyDialog)
{
    ... // some layout stuff here
    startButton = new QPushButton(MyDialog);
    startButton->setObjectName(QStringLiteral("startButton"));
    QSizePolicy sizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
    sizePolicy.setHorizontalStretch(0);
    sizePolicy.setVerticalStretch(0);
    sizePolicy.setHeightForWidth(startButton->sizePolicy().hasHeightForWidth());
    startButton->setSizePolicy(sizePolicy);
    startButton->setDefault(true);
... // later
QWidget::setTabOrder(startButton, stopButton);
}

void retranslateUi(QDialog *MyDialog) …
Run Code Online (Sandbox Code Playgroud)

c++ qt android text qpushbutton

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

QPushButton视觉问题

我有两个自定义样式的QPushButton按钮.这是Ok按钮的样式表:

QPushButton
{ 
    background-color:#9dce2c;
    border-radius:7px;
    border:1px solid #83c41a;
    color:#ffffff;
    font-size:15px;
    font-weight:bold;
    padding:4px 24px;
    text-decoration:none;
}
QPushButton:pressed
{
    border:2px solid black;
}
Run Code Online (Sandbox Code Playgroud)

现在这是它的样子:

好的按钮

这很好.但是,如果单击该按钮(获得焦点),它将开始如下所示:

好的按钮专注

请注意文本周围有轻微的阴影矩形.看起来好像文本被"选中"了.当按钮失去焦点时,它会再次开始正常显示.我想这是因为选中的控件突出显示如下:

在此输入图像描述

但是,我希望我的按钮保持不变,无论它是否专注.有什么方法可以解决这个问题吗?

c++ qt qtstylesheets qpushbutton

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

Qt - 如何将我的 QTableView 保存为 Excel 文件?

任何人都可以帮助我,如何将我的QtableView保存为 Excel 文件。我有一个QTableView一个 QPushButton(保存按钮)。如果我在我的 QtableView 中输入值并且如果我单击保存按钮 QTableView 项目应保存为 Excel 文件。请帮帮我。谢谢..

excel qt qtableview qt4.7 qpushbutton

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

将QPushButton宽度缩小到最小

这看起来很简单,但我似乎无法弄明白.如何使按钮达到最小宽度.它不断扩展到我放入的布局的宽度.在下面的示例中,QPushButton宽度最终与QLabel相同:

from PyQt4.QtCore import *
from PyQt4.QtGui import *
import sys

class MyWindow(QWidget):

    def __init__(self,parent = None):

        QWidget.__init__(self,parent)

        layout = QVBoxLayout()
        layout.addWidget(QLabel('this is a really, really long label that goes on and on'))
        layout.addWidget(QPushButton('short button'))

        self.setLayout(layout)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = MyWindow()
    window.show()
    sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

qt pyqt qpushbutton

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

PySide:如何在QPushButton点击的插槽中获取点击的QPushButton对象?

我是PySide的新手.我想在其单击的插槽中获取QPushButton obj(例如使用它来获取其文本).

button = QtGui.QPushButton("start go")
button.clicked.connect(self.buttonClick)

def buttonClick(self):
    ... # How can I get the button  object?
    # print button.text()  how to get the text : 'start go' ?
Run Code Online (Sandbox Code Playgroud)

谢谢!

qt pyqt pyside qpushbutton

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

如何为QPushButton指定快捷方式?

有关为QPushButton指定快捷方式的文档如下:


快捷键可以通过在首选字符前加上文本中的&符号来指定.例如:

QPushButton *button = new QPushButton("&Download", this);
Run Code Online (Sandbox Code Playgroud)

在此示例中,快捷键是Alt + D.


如果我不想要Alt+[A-Z]快捷方式,该怎么办?例如,在我的情况下,我希望按下按钮时触发我的按钮TAB.我怎样才能达到这个效果?

c++ qt qpushbutton

6
推荐指数
2
解决办法
5829
查看次数

QPushButton中的两种颜色文本

我需要一个QPushButton,文本中有两种颜色.我在QTextDocument中找到了一个带有html代码的解决方案,它正在运行.但是我需要居中对齐并且html代码不起作用.

 QTextDocument Text;
  Text.setHtml("<p align=center><font>Button</font><br/><font color=yellow>1</font></p>");

   QPixmap pixmap(Text.size().width(), Text.size().height());
   pixmap.fill( Qt::transparent );
   QPainter painter(&pixmap);
   Text.drawContents(&painter, pixmap.rect());

   QIcon ButtonIcon(pixmap);
   ui->toolButton->setText("");
   ui->toolButton->setIcon(ButtonIcon);
   ui->toolButton->setIconSize(pixmap.rect().size());
Run Code Online (Sandbox Code Playgroud)

我明白了, 在此输入图像描述

相同的代码HTML在QLabel中工作

ui->label->setText("<p align=center><font>Label</font><br/><font color=yellow>1</font></p>");
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

有解决方案吗

非常感谢.

c++ qt qt4 qtextdocument qpushbutton

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

将小部件添加到QTabWidget中

我可以在QTabWidget中添加一些像QLabelQPushButton这样的小部件吗?

实际上,我想做这样的事情: 在此输入图像描述

我正在使用C++和Qt.

谢谢

c++ qt qlabel qpushbutton qtabwidget

6
推荐指数
2
解决办法
3236
查看次数

c ++ QPushButton信号和插槽

我在创建带有信号和插槽的 QPushButton 时遇到问题。首先,我创建了一个类,其中插槽:

class A : public QWidget{

  public slots:
void handleButton();

};
Run Code Online (Sandbox Code Playgroud)

有我的 handleButton 功能:在 .cpp 中

   void A::handleButton(int row, int col){
    m_button->setText("Example");
  // resize button
    m_button->resize(100,100);
      }
Run Code Online (Sandbox Code Playgroud)

然后我想连接按钮。

           QObject::connect(m_button, SIGNAL(clicked()),qApp, SLOT(handleButton()));
Run Code Online (Sandbox Code Playgroud)

但是当我启动应用程序时出现错误:“没有这样的插槽”有人可以帮助我吗?

c++ qt signals slot qpushbutton

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