PyQt小组件边框颜色透明,但按钮在正常边框内。
我希望我的qtwidgets.qwidget的边框是透明或禁用的(borderWidth = 0),但是当我通过样式表将其设置为" border:0"时,窗口内部内的所有按钮也没有边框 - 任何想法如何保持按钮的风格并仅更改小部件边框? class lamp_frame(object): def setupUi(self, window): window.setObjectName("Yeelight Controlle") window.resize(460, 140+self.window_hight) window.setFixedSize(460, 140+self.window_hight) self.frame_0 = QtWidgets.QFrame(window) self.frame_0.setGeometry(QtCore.QRect(20, 30+self.top, 420
8 2024-04-02
编程技术问答社区
如何在QPushButton中显示菜单而不被阻塞?
我将QT4 QPushButton与QMenu一起使用(由设置).我需要在某些无关事件发生时显示此菜单. 方法QPushButton::showMenu()这样做,但是它会阻止用户关闭菜单. QMenu::show()也可以做到这一点,但它显示了屏幕左上角的菜单. 如何以编程方式使菜单正确显示,而不会阻止? 解决方案 不,我不喜欢建议的解决方案,因为qpushbutton应该管理菜单位置,而不是呼叫者. 因此,我决定将鼠标向下/UP事件发布到此QPUSHBUTTON小部件,并模拟用户的作用.这是一个技巧.这是补偿QT中缺少功能的攻击. void simulateMouseClick(QWidget *widget) { QPoint pos(widget->width()/2, widget->height()/2); QMouseEvent *evtDown = new QMouseEvent(QEvent::MouseButtonPress, po
10 2024-04-01
编程技术问答社区
Qt禁用动态按钮
我试图禁用用户以前选择的按钮 void pracownik2::on_pushButton_4_clicked(){ this->setWindowTitle("EKRAN"); QWidget *centralWidget = new QWidget; int licznik=1; QString licz; //QString kolumny = ui->lineEdit->text(); //QString wiersze = ui->lineEdit_2->text(); miejsca2 = ui->lineEdit_3->text().toInt(); //QPushButton *button[wiersze.toInt()][kolumny.toInt()]; QPushButton *button[3][6]; QGridLayout
18 2024-03-07
编程技术问答社区
如何在Qt5中为QPushButton设置动画图标?
QPushButton可以具有图标,但是我需要为其设置动画图标.这个怎么做? 我创建了从QPushButton实现的新类,但是如何将图标从QIcon替换为QMovie? 解决方案 由于我今天必须解决这个问题,所以我只是想放弃为未来人找到的解决方案,因为这个问题有很多观点,我认为解决方案非常优雅.该解决方案发布了在这里.它每次都设置按钮的图标,Qmovie的框架会发生变化: auto movie = new QMovie(this); movie->setFileName(":/sample.gif"); connect(movie, &QMovie::frameChanged, [=]{ pushButton->setIcon(movie->currentPixmap()); }); movie->start(); 这也具有优势,即在Qmovie启动之前不会出现图标.这也是Python解决方案,我为我的项目派生: #'hide' the icon on the
6 2024-02-26
编程技术问答社区
QPushButton在另一个小部件上的对齐方式
我有一个清除QListWidget的QListWidget和a QPushButton.现在,我的按钮在QListWidget旁边留出尴尬的空白处. 我想将按钮放在QListWidget上,这样可以覆盖右下角. 我尝试将按钮像这样 QPushButton* button = new QPushButton(ui->listwidget); button->show(); 它确实在我的小部件上创建了一个"浮动"按钮,但是我似乎找不到正确放置它的方法.也许我可以通过反复试验找到合适的辅助剂,但问题是我的主窗口是可以解决的,所以我不希望按钮最终进入列表的中间或在视图外面完整. 有人比这更好吗? 解决方案 这应该是可能的,尽管我不确定您是否会喜欢它是多少麻烦或最终结果.但简而言之... 用窗口创建QPushButton作为父窗口(我假设QListWidget在窗口内部或一些其他包含您提到的布局的容器QWidget).无论父母小部件是什么,这都是您按钮
16 2024-01-24
编程技术问答社区
如何设计QPushButton的检查状态以去除灰色圆点?
我正在使用QT 5.3.0.当我在qpushbutton的检查状态上应用一些背景色时,该按钮将在检查时填充灰点(我想要的背景颜色). 这是一个很小的测试程序(使用QTCreator,但也可以通过编码完成): 1,创建一个QT应用程序 2,拖动qpushbutton,将其设置为平坦可检查 3,在w.show() 之前添加这些行 w.setStyleSheet("\ QPushButton { \ color:white; \ } \ QPushButton:checked{\ background-color: rgb(80, 80, 80);\ }\ QPushButton:hover{ \
14 2023-12-05
编程技术问答社区
如何在 QlineEdit 内使用 QToolButton:Qt5
我想在QLineEdit中添加QToolButton. 我想清除QLineEdit在该按钮上控制的文本. 例如,在Google图像中如何: 我看过: this StackOverflow article ,但仍然无法解决我的问题. 预先感谢. 解决方案 //创建qtoolbutton: QToolButton *clearButton = new QToolButton(this); QPixmap pixmap(":/new/AppResource/images/clear_button.png"); clearButton->setIcon(QIcon(pixmap)); clearButton->setIconSize(pixmap.size()); clearButton->setCursor(Qt::ArrowCursor); clearButton->setStyleSheet("QToolButton { border: n
36 2023-12-05
编程技术问答社区
如何在 QT5.6.1 中创建自定义按钮
我是QT开发的新手.任何人都可以共享"如何在qt中创建自定义qpushbutton",以便自定义按钮的行为与qpushbutton相同,而与自定义属性有所不同.因此,请任何线索或任何方向都会有所帮助. 我尝试了QT自定义窗口小部件示例中给出的模拟时钟示例.但是我没有发现与Qpushbutton有关.预先感谢. 解决方案 非常简单.首先,您需要子类qpushbutton.添加您的方法来增强它.你完成了. 例如,我编写了CustomButton,它具有额外的方法来逆转文本. custombutton.h #ifndef CUSTOMBUTTON_H #define CUSTOMBUTTON_H #include class CustomButton : public QPushButton { public: CustomButton( const QString& text, QWidget* parent = 0 );
34 2023-12-03
编程技术问答社区
qt 如何知道一个按钮被点击了?
我正在尝试执行一个通过声音进行一些操作的程序.我的问题是我有3个Play Pushbutton和3个标签.我希望我要单击"播放"按钮,其名称在PushButton附近的标签中的声音应该播放. 我有一个没有任何参数的游戏插槽.那么,如何与每个标签分别连接到每个播放按钮?实际上,我可以编写3种不同的播放功能,但是由于我还有其他一些功能,它会太长且令人困惑.另外,我需要3个播放按钮,因为我想同时玩3个声音. 解决方案 例如,通过将所有按钮的单击信号连接到插槽,然后使用 qobject :: sender() 找出它是哪个按钮. 让我们假设您的按钮被命名为 pushbutton,pushbutton_2 和 pushButton_3 和labels label,label_2 和 label_3 . MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWin
56 2023-11-24
编程技术问答社区
特定的QPushButton样式
如何自定义qpushbutton或qtoolbutton的外观看起来像Elementaryos的网页"按钮"? 我真正想要的只是特征图像位置和侧面的文字,也许如果我很幸运,我也可以得到这样的边框,但是我真的不需要标题下方的小描述:) 我只能使用样式表来执行此操作,还是必须亚类qpushbutton/qabstractbutton/类似的东西?我已经到处搜索过,但没有找到这种定制水平> 编辑: 我真的想要一个可以为我提供一个可自定义按钮的解决方案,而不是固定图像, 的曲目中的某些内容 MainWindowButton(QString(title), /*opt*/QString(description), QImage(icon)); 解决方案 有许多方法可能起作用. 您可能首先考虑尝试用正常QPushButton组成一个QVBoxLayout>的解决方案.您可以添加三个QLabels;一个用于标题文本,一个用于字幕文本,另一个用于图像.某些CS可能可用于渲染按钮的
8 2023-11-11
编程技术问答社区
PySide: 如何触发当前点击的QPushbutton,而不是其他后来添加的按钮?
我是Pyside的新手.在我的程序中,我遇到了一个问题,即当我单击一个按钮时,它会触发另一个按钮后来添加.谢谢! self.addContentButton = QtGui.QPushButton('Add') self.addContentButton.clicked.connect(self.addContent) def addContent(self): ''' slot to add a row that include a lineedit, combobox, two buttons ''' self.contentTabHBoxWdgt = QtGui.QWidget() self.contentName = QtGui.QLineEdit('line edit') self.conetentTypeBox = QtGui.QComboBox()
18 2023-09-03
编程技术问答社区
Qt信号槽按钮
,当我单击我的信息更新时,我需要在Qlabel中更改文本. 当我更改A的值时,B的值也必须更改. 我有两个按钮可以更改两个qlabel中的值(a的值,值为b). main.cpp: Counter A, B; QObject::connect(&A, &Counter::changeValue, &B, &Counter::setValue); QObject::connect(&A, &Counter::changeValue, &B, &Counter::Increment); QObject::connect(&A, &Counter::changeValue, &B, &Counter::Decrement ); QObject::connect(Add, &QPushButton::clicked, &A, &Counter::clickedAdd(QLabel* obj)); QObject::connect(Sub, &QPushButton::click
12 2023-09-03
编程技术问答社区
Qt: QObject::connect: 无此槽
我正在构建一个小界面,在该界面中,我是RViz,它是一个可视化器,它是一个来自 ros .根据SIGNAL ans SLOT有一些问题,实际上,当我单击它们时,视图不会改变. 现在RViz具有一个称为getNumViews()的特定函数,该功能允许用户设置视图数.就我而言,我只有两个与我正在实施的两个QPushButton相关的视图. 在运行应用程序程序时,我会收到以下错误QObject::connect: No such slot MyViz::switchToView(),并认为所有要正确设置SIGNALS和SLOT的段落都是根据官方文档.同样,为了完整性,我正在使用C++11,并且通过研究更多,我发现旧版本的SIGNAL和SLOT,这是我使用的一个. 下方与我正在运行的SIGNAL和SLOT相关的代码: myviz.h public Q_SLOTS: void switchToView(QString view); private: rvi
56 2023-09-03
编程技术问答社区
(Qt) 从PushButtons的QButtonGroup创建信号?
我对整个事情的工作方式感到非常困惑. 我有一些我放入这样的小组中的pusperton: MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); AddSlotsToGroup(); } void MainWindow::AddSlotsToGroup() { QButtonGroup* group = new QButtonGroup(this); group->addButton(ui->slot_0); group->addButton(ui->slot_1); //... } 我想创建一个插槽,该插槽获取该组中单击的按钮的ID. (对不起,如果我解释不好:() 在 MainWindow::MainWindow(QWidget *parent)
30 2023-09-03
编程技术问答社区
更改按钮文本时,如何自动更改 QPushButton 宽度和 QMenuBar 角部件宽度?
我将角小部件设置为具有两个qpushbuttons的Qmenubar.但是,当我通过按钮的setText设置长文本时,按钮不会改变其重量,因此,图标和文本隐藏的一部分.那么,如何在设置文本时如何更改按钮的宽度和角窗口的宽度? 解决方案 呼叫menuBar()->adjustSize();在按钮上设置文本后. 其他解决方案 我通过更改按钮文本后再次将相同的角窗口设置为qmenubar解决了它.
14 2023-07-25
编程技术问答社区
如何在 Qt 中设置按钮上标签的字体大小?
我正在使用此代码在PushButton上设置标签,大小为16 ui->pushButton->setText(tr("Tank 1 \n %1%2C").arg(szTemp).arg(degree)); ,但我将输出作为Tank 1 005c写在pushbutton上. 如何设置字体大小? 解决方案 A QPushButton的文本值不是"丰富的文本",因此它不会像预期的那样解释您的HTML.要么在小部件上使用setFont设置字体大小,要么通过样式表进行设置: QFont font = ui->pushButton->font(); font.setPointSize(16); ui->pushButton->setFont(font); 样式表虽然更强大,但可能会更加复杂,因为它迫使您定义您现在正在编写的许多其他功能. 其他解决方案 您可以使用样式表
20 2023-07-25
编程技术问答社区
树状视图列中的 QPushButtons
我已经有一个树模型视图,其中包含带有标签,文本编辑和检查按钮的列.我要添加的是一个按钮. 这是我卡住的地方: 在"标志"函数中,我将使用哪个名称空间? 在"数据"功能中,按钮的角色是什么? (例如,在检查按钮案例中,我使用了Qt::CheckStateRole) 在"数据"功能(返回a QVariant)中,我应该返回什么?创建的按钮? 我已经查看了有关此主题的其他答案,以及使用setIndexWidget建议的最受欢迎的答案,但是我不确定如何.最后注意,我试图以编程方式进行此操作,而不是使用UI设计器. 谢谢! 解决方案 在其他任何事情之前,您似乎对QT的模型/视图框架的工作方式有些困惑.我建议您去检查有关它的QT文档: http://doc.qt . 您3个问题的答案: 您不需要在Qt::ItemFlags QAbstractItemModel::flags(const QModelIndex &index) const中使用任何名称空间.只需返
20 2023-07-25
编程技术问答社区
通过按钮/鼠标点击处理 Qt keyPressEvent、"保持 "和 keyReleaseEvent
我正在编写一个QT程序来模拟一件硬件,我想模拟按钮按,举行和发布事件.在我的应用程序中,我想从键盘和鼠标点击中处理输入,以使用户方便(即ME).我注意到一些奇怪的行为,我不理解. 应用程序使用QPUSHBUTTON和启用autoRepeat和100 ms autoRepeatDelay和autoRepeatInterval.如果我在按钮上单击,我会收到交替的"按"和"发布"事件.我本来希望看到1到N-1"按下"事件,然后是"发布"事件. QT为什么会这种行为? 我还实施了以下代码来处理键盘的按钮: void MyApp::keyPressEvent(QKeyEvent *event) { QString s = QString("My PRESS key is %1. The counter is %2").arg(event->text(), QString::number(keyCounter)); qDebug()
22 2023-07-25
编程技术问答社区
Qt 样式表:无法使用 ID 选择器
我正在学习使用QT样式表为我的应用程序添加不同的样式.我在网上查看,并看到了QT文档,该文档说您可以使用可以将主题应用于某些对象的称为ID Selector的东西.这就是我实现此功能的方式: QPushButton#button { color:red; } 但行不通.它只有在我尝试ID Selector的情况下才起作用: QPushButton { color:red; } 为什么这不起作用?我使用了复制和粘贴,所以我100%确定我没有错. 解决方案 我找到了答案,这实际上很简单.我忘了添加button->setObjectName("Name");,这导致样式表不知道该按钮.只需添加以下代码,它应该可以正常工作. 其他解决方案 哪个版本? 请告诉我并发送了整个代码. 因为4.7 4.8 5.2 5.3 5.5 5.8有许多不同的细节. 我的使用可以尝试 QStyleOption opt; opt.initFrom(t
22 2023-07-25
编程技术问答社区
如何防止回车键关闭我的 QDialog (Qt 4.8.1)
我有QDialog QDialogButtonBox. OK 和取消按钮处于活动状态.有时我会根据对话框的状态禁用或隐藏确定按钮.无论我做什么,Enter密钥似乎总是激活确定按钮.我真的不希望这种情况发生.我尝试了: 每次我显示/hida/enable/disable/button 在确定按钮上安装事件过滤器以拦截关键事件(按下并发布)以返回,输入和空格 将重点策略设置为 nofocus 以及上面这些事物的所有组合,Enter键仍然接受对话框.有人知道如何阻止它吗?似乎我应该能够阻止像这样简单的东西吗? 解决方案 应在对话框本身上进行键按事件过滤,因为处理Return和Enter键的代码对默认按钮的转发为QDialog::keyPressEvent. . void Dialog::keyPressEvent(QKeyEvent *evt) { if(evt->key() == Qt::Key_Enter || evt->key() == Qt::K
36 2023-07-25
编程技术问答社区