在 QPushButton 上放一行
Putting a line on a QPushButton
本文关键字:一行 QPushButton 更新时间:2023-10-16
我正在创建一个绘制图形的程序;我希望能够有一个按钮,用户可以按下该按钮来选择线条颜色和样式。我希望能够直观地显示当前选择的内容。
目前,我知道我可以使用两个单独的小部件来做到这一点,一个 QPush 按钮,然后是我自己制作的一个小部件,它只是使用 QPen 在上面画一条线。
我想将这两个小部件变成一个小部件。我希望这个小部件是一个可按下的"按钮",用户可以从中获取信号来运行设置新 QPen 的例程。
此功能是内置的吗? 或者我需要创建一个重新实现QPushButton或QActionButton的新小部件?或者我应该只制作我的小部件来侦听鼠标单击事件并从那里创建一个信号槽?
您可以使用
QLabel
,设置样式表,并将其用作图表上的线条。您可以使用QGroupBox
的边界来定义 x 和 y 轴。
也许是这样的:
yourQLabel.setStyleSheet("QWidget {background-color: rgb(255, 0, 0); color:white; border: 1px solid black;}"); // red with black border
然后,您可以根据图形的值设置QLabel
的高度、宽度和位置。当然,这只有在图表上的线条是矩形时才有效。如果不是,那么您可能不得不使用除QLabel
以外的其他东西。
使用 QLabel
的 setGeometry 方法来设置此项。
yourQLabel.setGeometry(x, y, width, height);
就您的按钮而言,如果需要,您可以对其进行类似操作。QPushButton
还具有setGeometry
和setStyleSheet
方法。
如果你想告诉你的按钮在点击时做某事,假设你有一个名为myButton
的QPushButton
对象,把它添加到你的头文件 (.h):
class YourClass
{
Q_OBJECT
//...
private slots:
void on_myButton_clicked();
}
然后在源文件 (.cpp):
void YourClass::on_myButton_clicked()
{
// stuff your button does on click
}
相关文章:
- 用c++从输入文件中读取另一行
- 读取文件的最后一行并输入到链接列表时出错
- 我正在使用嵌套的while循环来解析具有多行的文本文件,但由于某种原因,它只通过第一行,我不知道为什么
- 从C++dll访问C#中的一行主要参数
- 在C++中,我如何接受不同于同一行的用户输入
- 如何从一行中读取特定数量的字符?(C++)
- 读取最后一行代码算法 - c++ 时出现问题
- 查找矩阵C++中每一列和每一行的最小和最大元素
- 有没有办法在一行中填充矢量图
- 需要将一行代码从C++ Qt翻译成PyQt
- 为什么如果我添加这一行,我的程序会不断询问值
- 如何使代码打印文本文件中的第一行?
- 如何在C++中以这种方式返回一行文本?
- 如何使用运算符在同一行中多次调用函数
- 如何格式化我的文本文件以使其不会一遍又一遍地重复同一行?
- 而(!inputfile.eof())只读取第一行?
- 这段代码的最后一行在做什么?
- 逐字读取文本文件中的每一行并转换为 int(无限循环或崩溃?
- C++找出覆盖同一行的数组
- 在 QPushButton 上放一行